2015-08-26 52 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" 
    }, 

以及捆扎开始工作...