Трудно ми е да накарам jspm_packages
да работи правилно в моята jspm
конфигурация в моя packages.json
. Пиша приложение в EM6 (babel engine).
Имам gulp файл, който поставя моя 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"
},
...
Опитах множество варианти, но всички завършват с подобна грешка. Префиксът ../../
стъпва по-нагоре в моята файлова система, но тъй като командата вече търси две директории по-горе, това не помага.
Както бихте очаквали, премахването на атрибута изцяло от моя 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
), където моят процес на гълтане поставя скриптовете на приложението ми, преди да конвертира от ES6 към нормален JS.
Тук съм на края на акъла си. Изглежда не мога да накарам процеса jspm
да намери правилно jspm_packages
и по този начин не мога да компилирам приложението си.
Всяка помощ ще бъде високо оценена.
jspm bundle-sfx main dist/scripts/app.js --minify --skip-source-maps
вместо това? - person vanthome   schedule 28.08.2015