CanJS с StealJS 0.3.0
Я играю в приложении с canjs 2.1.0 и stealjs 0.3.0:
У меня есть stealconfig.js, как показано ниже:
System.config({
map: {
"can/util/util": "can/util/jquery/jquery",
"jquery/jquery": "jquery"
},
paths: {
"jquery": "bower_components/jquery/dist/jquery.js",
"can/*": "bower_components/canjs/*.js",
"lodash": "bower_components/lodash/dist/lodash.js",
"bootstrap" : "bower_components/bootstrap/dist/js/bootstrap.js",
"bootstrap.css" : "bower_components/bootstrap/dist/css/bootstrap.csscss"
},
meta: {
jquery: {
exports: "jQuery",
deps: supportsUnknownElements ? undefined : ["can/lib/html5shiv.js"]
}
},
ext: {
mustache: "can/view/mustache/system"
}
});
И мой main.js это:
import can from 'can/';
import $ from 'jquery';
import _ from 'lodash';
import LayoutController from 'apps/layout/layout';
can.route.ready();
new LayoutController(document.body, {});
макет.js как:
(function() {
'use strict';
var can = require('can/'),
layoutView = require('./view/layout.mustache!');
})();
Но я получаю эти ошибки.
GET http://localhost:8080/bower_components/canjs/can.js 404 (Not Found)
GET http://localhost:8080/bower_components/canjs/view/mustache/system.js 404 (Not Found)
Как я могу решить эту проблему?
1 ответ
Решение
Чтобы использовать CanJS с новым Steal, вам нужно использовать второстепенную ветвь CanJS. Еще не было выпуска тега, поддерживающего новую версию Steal.
Вы можете легко сделать это с помощью bower, вот так (в зависимости):
"canjs": "bitovi/canjs#minor"
Другие комментарии:
1) Когда вы используете CommonJS (как в layout.js), вам не нужно оборачивать его в функцию, вызывающую сам себя. Это сделает Steal.
2) Ошибка предполагает, что он не может найти файл. Вы уверены, что запустили "bower install" для установки CanJS? Ваша конфигурация выглядит хорошо.