Сервер Ember продолжает жаловаться на то, что файл не найден

Это сводит меня с ума. Я клонировал свой проект на новый компьютер, запустил npm install и bower install, но затем запуск ember server продолжает говорить мне, что не может найти мой файл moment.js, но у меня есть правильный путь в моем Brocfile. Мне пришлось изменить Brocfile после установки Bower, потому что папка изменилась с «momentjs» на «moment», но похоже, что она все еще выглядит на старом месте. Я также очистил кэши Bower и npm. Вот ошибка:

$ ember server
version: 0.1.4
Could not find watchman, falling back to NodeWatcher for file system events
Livereload server on port 35729
Serving on http://0.0.0.0:4200/
Path or pattern "bower_components/momentjs/moment.js" did not match any files
Error: Path or pattern "bower_components/momentjs/moment.js" did not match any files at Object.multiGlob (c:\Dev\star\node_modules\ember-cli\node_modules\broccoli-kitchen-sink-helpers\index.js:202:13)

В моем Brocfile есть эта строка: app.import(app.bowerDirectory + '/moment/moment.js'); именно там, где находится файл.

Я даже только что обновил ember-cli до последней версии, следил за всем, очистил папки tmp и dist, повторно запустил установку npm и bower, и все равно получаю эту ошибку. Как будто он не читает из Brocfile или что-то в этом роде.

РЕДАКТИРОВАТЬ: добавить brocfile.js:

/* global require, module */

var pickFiles = require('broccoli-static-compiler');
var mergeTrees = require('broccoli-merge-trees');
var EmberApp = require('ember-cli/lib/broccoli/ember-app');
var fontAwesome;
var app = new EmberApp({
  vendorFiles: {
    'es5-shim.js': 'bower_components/es5-shim/es5-shim.js',
    'es5-sham.js': 'bower_components/es5-shim/es5-sham.js'
  }
});

//these font files will be put into the assets/fonts folder in public/ and dist/
fontAwesome = pickFiles('vendor/sb-admin-2/font-awesome-4.2.0/fonts', {
  srcDir: '/',
  files: ['*'],
  destDir: '/assets/fonts'
});

// Use `app.import` to add additional libraries to the generated
// output files.

//only using the js and font files from bootstrap, sass stylesheets are in app/styles
app.import('bower_components/moment/moment.js');
app.import(app.bowerDirectory + '/respond/dest/respond.min.js');
app.import(app.bowerDirectory + '/bootstrap-sass-official/assets/javascripts/bootstrap/tooltip.js');
app.import('vendor/sb-admin-2/js/bootstrap.min.js');
app.import(app.bowerDirectory + '/ember-addons.bs_for_ember/dist/js/bs-core.min.js');
app.import(app.bowerDirectory + '/ember-addons.bs_for_ember/dist/js/bs-progressbar.min.js');
app.import(app.bowerDirectory + '/ember-addons.bs_for_ember/dist/js/bs-nav.min.js');
app.import(app.bowerDirectory + '/ember-addons.bs_for_ember/dist/js/bs-badge.min.js');
app.import('vendor/sb-admin-2/js/plugins/metisMenu/metisMenu.js');
app.import('vendor/sb-admin-2/css/plugins/metisMenu/metisMenu.css');
app.import('vendor/sb-admin-2/js/sb-admin-2.js');
//sb-admin-2 scss is imported in app/styles/app.scss
app.import('vendor/sb-admin-2/font-awesome-4.2.0/css/font-awesome.min.css');

//placholder attribute polyfill
app.import(app.bowerDirectory + '/better-dom/dist/better-dom-legacy.js');
app.import(app.bowerDirectory + '/better-dom/dist/better-dom.js');
app.import(app.bowerDirectory + '/better-placeholder-polyfill/dist/better-placeholder-polyfill.js');

// If you need to use different assets in different
// environments, specify an object as the first parameter. That
// object's keys should be the environment name and the values
// should be the asset to use in that environment.
//
// If the library that you are including contains AMD or ES6
// modules that you would like to import into your application
// please specify an object with the list of modules as keys
// along with the exports of each module as its value.

module.exports = mergeTrees([
  app.toTree(),
  fontAwesome]);

person redOctober13    schedule 04.12.2014    source источник
comment
Можете ли вы опубликовать свой brocfile? Кроме того, попробуйте жестко закодировать путь беседки, чтобы посмотреть, работает ли он. то есть `app.import('bower_components/momentjs/moment.js').   -  person Mike Wilson    schedule 04.12.2014
comment
@Mike1o1: я добавил это; жесткое кодирование пути не имело значения.   -  person redOctober13    schedule 04.12.2014
comment
Мое предложение: сделайте минимальный тестовый пример, который воспроизводит проблему.   -  person givanse    schedule 04.12.2014


Ответы (1)


Я нашел проблему. Это был модуль node_module ember-pikaday с собственным Brocfile и index.js, которые выполняют app.import и ищут папку «momentjs». Я просто предположил, что добавленные компоненты будут совместимы, но, похоже, я кое-чему научился.

person redOctober13    schedule 04.12.2014