首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当使用角2材料时,systemjs-builder buildStatic失败。

当使用角2材料时,systemjs-builder buildStatic失败。
EN

Stack Overflow用户
提问于 2016-05-28 07:32:20
回答 1查看 760关注 0票数 0

我使用systemjs-buildergulp将所有已编译的JS文件捆绑在一起。这是很好的工作,直到我尝试使用角材料2组件/服务。将import {MdIcon} from '@angular2-material/icon'放在文件的顶部是没有问题的,但是一旦我向directivesproviders数组添加了MdIcon或任何其他重要组件或服务,我就会在构建过程buildStatic中得到一个错误,例如:

代码语言:javascript
复制
{ [Error: Error on fetch for node_modules/@angular2-material/icon/icon.js at file:///c:/websites/learn/angular2/node_modules/@angular2-material/icon/icon.js
    Loading app//app/my-app.component.js
    Loading app//main.js
    ENOENT, open 'c:\websites\learn\angular2\node_modules\@angular2-material\icon\usr\local\google\home\jelbourn\material2\tmp\broccoli_type_script_compiler-input_base_path-IydvmmBU.tmp\0\components\icon\icon.js.map']
  originalErr: 
   { [Error: ENOENT, open 'c:\websites\learn\angular2\node_modules\@angular2-material\icon\usr\local\google\home\jelbourn\material2\tmp\broccoli_type_script_compiler-input_base_path-IydvmmBU.tmp\0\components\icon\icon.js.map']
     cause: 
      { [Error: ENOENT, open 'c:\websites\learn\angular2\node_modules\@angular2-material\icon\usr\local\google\home\jelbourn\material2\tmp\broccoli_type_script_compiler-input_base_path-IydvmmBU.tmp\0\components\icon\icon.js.map']
        errno: -4058,
        code: 'ENOENT',
        path: 'c:\\websites\\learn\\angular2\\node_modules\\@angular2-material\\icon\\usr\\local\\google\\home\\jelbourn\\material2\\tmp\\broccoli_type_script_compiler-input_base_path-IydvmmBU.tmp\\0\\components\\icon\\icon.js.map' },
     isOperational: true,
     errno: -4058,
     code: 'ENOENT',
     path: 'c:\\websites\\learn\\angular2\\node_modules\\@angular2-material\\icon\\usr\\local\\google\\home\\jelbourn\\material2\\tmp\\broccoli_type_script_compiler-input_base_path-IydvmmBU.tmp\\0\\components\\icon\\icon.js.map' } }

这个例程似乎试图从错误的位置加载icon.js.map。它不是目录c:\websites\learn\angular2\node_modules\@angular2-material\icon\,而是寻找c:\websites\learn\angular2\node_modules\@angular2-material\icon\usr\local\google\home\jelbourn\material2\tmp\broccoli_type_script_compiler-input_base_path-IydvmmBU.tmp\0\components\icon\

我是两个新材料,古普和,所以我不知道从哪里开始寻找问题。正如我提到的,如果不包括角2材料,事情就会很好。

我的gulpfile.js的相关部分

代码语言:javascript
复制
gulp.task('build-ts', function () {
    return gulp.src(appDev + '**/*.ts')
        .pipe(sourcemaps.init())
        .pipe(typescript(tsProject))
        .pipe(sourcemaps.write())
        //.pipe(jsuglify())
        .pipe(gulp.dest(appProd));
});

gulp.task('bundle',['build-ts'], function() {
    var builder = new Builder('', './systemjs.config.js');

    return builder
        .buildStatic(appProd + '/main.js', appProd + '/bundle.js', { minify: true, sourceMaps: true})
        .then(function() {
            console.log('Build complete');
        })
        .catch(function(err) {
            console.log('Build error');
            console.log(err);
        });
});

有什么想法吗?

EN

回答 1

Stack Overflow用户

发布于 2016-05-28 09:20:26

这个问题似乎是两件事的结合:

  1. 角质材料2 alpha 5的文件中有不正确的源地图链接;当systemjs试图解决这些链接时,它会遇到麻烦。https://github.com/angular/material2/issues/541
  2. systemjs中忽略源映射的选项似乎并不有效。https://github.com/systemjs/builder/issues/610

目前,我已经降级为systemjs-builder 0.15.16,作为一种解决办法;该版本并不试图解决坏链接。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37496441

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档