2015-08-26 85 views
0

我很難讓jspm_packages在我的packages.jsonjspm配置中正常工作。我正在寫EM6(巴貝爾引擎)的應用程序。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錯誤。

我一頭有點入文檔,並發現你可以在你package.json,這就是我所做的設置"packages"屬性,這就是我現在的文件看起來像:

... 
"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,因此我無法編譯我的應用程序。

任何幫助將不勝感激。

+0

你可以試試'jspm bundle-sfx main dist/scripts/app.js --minify --skip-source-maps'嗎? – vanthome

回答

1

我得到一個類似的問題, 當我試圖

jspm bundle app.js app/app.bundle.js 

但後來我改變了

"jspm": { 
    "directories": { 
     "baseURL": "app", 
     "packages": "jspm_packages" 
    }, 

到這個..

"jspm": { 
    "directories": { 
     "baseURL": "app", 
     "packages": "app/jspm_packages" 
    }, 

以及捆紮開始工作...