私はgulp
と一緒にsystemjs-builderを使用して、コンパイルされたすべてのJSファイルを1つにまとめます。これは、Angular Material 2コンポーネント/サービスを使用しようとするまでうまく動作します。ファイルの先頭にimport {MdIcon} from '@angular2-material/icon'
を持つことは問題ありませんが、できるだけ早く私はMdIcon
またはdirectives
またはproviders
アレイへの任意の他の材料コンポーネントまたはサービスの追加として、私は、ビルドプロセスbuildStatic
などの際にエラーが表示されます。systemjs-builder Angular 2の素材を使用するとbuildStaticが失敗する
{ [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\
私はマテリアル、GulpとSystemJSビルダーの両方に新しいので、どこで問題を探し始めるべきかわかりません。私が言及したように、私は角2の材料を含まないとうまくいく。
私gulpfile.js
の関連部分:
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);
});
});
任意のアイデア?
問題は、https://github.com/angular/material2/issues/541のように角度2の材質であるようです。 '@ angular2-material \ icon \ icon.js'の最後に不正な' sourceMappingURL'リファレンスがあります。参照を修正すると、ビルドプロセスがもう少し進んでから、別のファイルの別の悪い参照でエラーになります。悪い行はすべて、@ angular2-materialフォルダ内の多くのファイルで '//#sourceMappingURL ='で始まります。いずれにせよ、自動的にそれらをすべて削除する方法はありますか?私はWindows 7にいる – BeetleJuice