Мне трудно заставить jspm_packages
работать правильно в моей конфигурации jspm
в моем packages.json
. Я пишу приложение в EM6 (движок Babel).
У меня есть файл gulp, который помещает мой javascript ES6 в папку с именем .tmp/scripts
:
gulp.task('transpile:app', ['templates'], function() {
return gulp.src('app/scripts/**/*.js')
.pipe($.babel({ sourceMap: true }))
.pipe(gulp.dest('.tmp/scripts'));
});
А затем пакетная задача, которая должна преобразовать файлы в .tmp
в папку с именем dist
:
// Bundle javascripts
gulp.task('bundle:app', function() {
return gulp.src('')
.pipe($.shell('jspm bundle-sfx app dist/scripts/app.js --minify --skip-source-maps'));
});
Вот где не получается.
Запуск jspm bundle-sfx app dist/scripts/app.js --minify --skip-source-maps'
вызывает эту ошибку:
warn jspm_packages must be specified in the package.json within the baseURL for paths to resolve correctly.
Building the single-file sfx bundle for app...
err Error: ENOENT, open '/Users/connorblack/git/**********/jspm_packages/github/marionettejs/[email protected]'
at Error (native)
Странно то, что этот путь к файлу для jspm_packages
ищет два каталога выше, где он должен быть, что вызывает ошибку ENOENT
.
Я немного углубился в документы и обнаружил, что вы можете установить атрибут "packages"
в свой package.json
, что я и сделал, и вот как выглядит мой текущий файл:
...
"jspm": {
"directories": {
"baseURL": ".tmp/scripts",
"lib": "app",
"packages": "jspm_packages"
},
...
Я пробовал несколько вариантов, но все они заканчиваются одинаковой ошибкой. Префикс ../../
продвигает мою файловую систему дальше вверх, но, поскольку команда уже просматривает два каталога выше, это не помогает.
Как и следовало ожидать, полное удаление атрибута из моего package.json
удалит предупреждение и изменит ENOENT
:
Building the single-file sfx bundle for app...
err Error: ENOENT, open '/Users/connorblack/git/********/*********/skeleton/.tmp/scripts/jspm_packages/github/marionettejs/[email protected]'
at Error (native)
где теперь он ищет папку jspm_packages
под моей baseURL
(.tmp/scripts
), где мой процесс gulp помещает сценарии моего приложения перед преобразованием из ES6 в обычный JS.
Я в своем уме здесь. Кажется, я не могу заставить процесс jspm
правильно найти jspm_packages
, и поэтому я не могу скомпилировать свое приложение.
Любая помощь будет принята с благодарностью.
jspm bundle-sfx main dist/scripts/app.js --minify --skip-source-maps
? - person vanthome   schedule 28.08.2015