如何将 Angular 2 应用程序与 systemjs 和 systemjs-builder 捆绑在一起?
How to bundle Angular 2 app with systemjs and systemjs-builder?
我正在开发一个应用程序,我需要提高 angular 2 加载所有脚本的性能。问题是这个错误:
我正在使用 gulp + systemjs + systemjs-builder。这是我的文件:
[gulp文件]
gulp.task('bundle', function () {
var builder = new SystemBuilder('./', './wwwroot/lib/js/systemjs.config.js');
return builder.buildStatic('wwwroot/lib/spa/main.js', 'wwwroot/lib/js/bundle.min.js', {
minify: true,
mangle: true,
rollup: true,
runtime: false
});
});
[systemjs.config]
var config = {
//use typescript for compilation
transpiler: 'typescript',
transpilerRuntime: false,
//typescript compiler options
typescriptOptions: {
emitDecoratorMetadata: true
},
map: map,
packages: packages,
defaultJSExtensions: true
};
如您所见,它被添加 .js 作为 defaultJSExtensions: true 的结果。我需要做些不同的事情吗? (我真的需要这个 属性 等于 true,因为我有很多路径没有 .js)。
提前致谢=)
我通过添加解决了问题
var map = {'typescript': 'node_modules/typescript/lib', ...}
和
var packages = {'typescript': { main: "typescript.js", ... }}
在systemjs文件中配置:
var config = {
//use typescript for compilation
transpiler: 'typescript',
//typescript compiler options
typescriptOptions: {
emitDecoratorMetadata: true
},
map: map,
packages: packages,
defaultJSExtensions: true
};
System.config(config);
这样systemjs-builder就可以毫无问题地找到编译器路径了。
继马丁 url () and searching about topic 3 I found this thing https://github.com/systemjs/systemjs/blob/master/docs/production-workflows.md
帮助捆绑加载。 =)
我正在开发一个应用程序,我需要提高 angular 2 加载所有脚本的性能。问题是这个错误:
我正在使用 gulp + systemjs + systemjs-builder。这是我的文件:
[gulp文件]
gulp.task('bundle', function () {
var builder = new SystemBuilder('./', './wwwroot/lib/js/systemjs.config.js');
return builder.buildStatic('wwwroot/lib/spa/main.js', 'wwwroot/lib/js/bundle.min.js', {
minify: true,
mangle: true,
rollup: true,
runtime: false
});
});
[systemjs.config]
var config = {
//use typescript for compilation
transpiler: 'typescript',
transpilerRuntime: false,
//typescript compiler options
typescriptOptions: {
emitDecoratorMetadata: true
},
map: map,
packages: packages,
defaultJSExtensions: true
};
如您所见,它被添加 .js 作为 defaultJSExtensions: true 的结果。我需要做些不同的事情吗? (我真的需要这个 属性 等于 true,因为我有很多路径没有 .js)。
提前致谢=)
我通过添加解决了问题
var map = {'typescript': 'node_modules/typescript/lib', ...}
和
var packages = {'typescript': { main: "typescript.js", ... }}
在systemjs文件中配置:
var config = {
//use typescript for compilation
transpiler: 'typescript',
//typescript compiler options
typescriptOptions: {
emitDecoratorMetadata: true
},
map: map,
packages: packages,
defaultJSExtensions: true
};
System.config(config);
这样systemjs-builder就可以毫无问题地找到编译器路径了。
继马丁 url (