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? Ваша конфигурация выглядит хорошо.

Другие вопросы по тегам