Мне очень трудно получить jspm_packages
, чтобы правильно работать в моей конфигурации jspm
в моем packages.json
. Я пишу приложение в EM6 (механизм Babel).Ошибка компиляции jspm/ES6, неправильное расположение пакетов
У меня есть файл глоток, который помещает мой ES6 JavaScript в папку с именем .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"
},
...
I «Пробовал несколько вариантов, но все они имеют аналогичную ошибку. Префикс ../../
делает шаг вперед по моей файловой системе, но поскольку команда уже ищет два каталога выше, это не помогает.
Как и следовало ожидать, удаление атрибута целиком из моих 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' вместо этого? – vanthome