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)

Как я могу решить эту проблему?


person Mason Shin    schedule 15.10.2014    source источник
comment
Может JS 2.1? Только второстепенная ветвь canjs поддерживает использование кражи.   -  person Justin Meyer    schedule 15.10.2014
comment
Итак, CanJS 2.1 не поддерживает кражу?   -  person Mason Shin    schedule 15.10.2014
comment
Связанная проблема: #1042   -  person ramblinjan    schedule 05.11.2014


Ответы (1)


Чтобы использовать CanJS с новым Steal вы должны использовать вспомогательную ветвь CanJS. Еще не было выпуска тегов, поддерживающих новую версию Steal.

Вы можете легко сделать это с помощью Bower, вот так (в ваших зависимостях):

"canjs": "bitovi/canjs#minor"

Другие комментарии:

1) Когда вы используете CommonJS (как и в layout.js), вам не нужно оборачивать его в функцию самовызова. Это сделает Steal.

2) Ошибка говорит о том, что файл не найден. Вы уверены, что запустили «bower install» для установки CanJS? Ваша конфигурация выглядит нормально.

person Matthew Phillips    schedule 15.10.2014
comment
Это похоже на комментарии, пожалуйста, попробуйте добавить больше деталей в свой ответ. - person Ram; 15.10.2014
comment
@ Мэтью Филлипс, я переустановил с помощью bower, но это не решает эту проблему. Я также обновился до 2.1.3 для CanJS. - person Mason Shin; 15.10.2014
comment
CanJS 2.1.3 не поддерживает кражу. Только второстепенная ветвь. - person Justin Meyer; 16.10.2014
comment
Спасибо, @JustinMeyer. Тогда как CanJS 2.1.3 обрабатывает зависимости и компилирует/создает производственные пакеты? - person Mason Shin; 18.10.2014
comment
Мы используем старую версию стилуса. - person Justin Meyer; 20.10.2014
comment
Это должно быть решено в новой версии 2.3 CanJS. - person Marshall Thompson; 23.10.2015