Javascript 如何使用gulp uglify在angular 2中加载缩小的文件?(缩小TYpescript捆绑文件)
我有一个angular 2应用程序,其中定义了typescript编译器选项,以生成单个输出文件,即Scripts1.js和Scripts1.js.map 现在在我的index.html中Javascript 如何使用gulp uglify在angular 2中加载缩小的文件?(缩小TYpescript捆绑文件),javascript,typescript,angular,gulp,gulp-uglify,Javascript,Typescript,Angular,Gulp,Gulp Uglify,我有一个angular 2应用程序,其中定义了typescript编译器选项,以生成单个输出文件,即Scripts1.js和Scripts1.js.map 现在在我的index.html中 <script src="Scripts/Script1.js"></script> <script> System.config({ packages: { 'V1/c
<script src="Scripts/Script1.js"></script>
<script>
System.config({
packages: {
'V1/components/main': {
format: 'register',
defaultExtension: 'js',
defaultJSExtensions: true
}
}
});
debugger;
//System.import('Scripts/main')
System.import('V1/components/main')
.then(null, console.error.bind(console));
</script>
现在,当我包含时,它会在我的应用程序文件夹中生成Script1.js
<script src="app/Script1.js"></script>
附言:请不要建议任何其他捆绑或缩小工具,我讨厌所有的如果您从所有文件创建捆绑,最好使用Webpack而不是system.JS(system JS在运行时加载每个模块文件,而Webpack从您的所有文件创建捆绑) 关于如何在原始文档中创建网页包文件,有一个很好的解释。
最好使用Angular 2 CLI开发应用程序。它提供所有基线工作,如构建、运行、单元测试、TS文件的传输,使用NG命令,您可以使用预定义代码创建页面和路由
还可以通过将Angular 2 CLI环境更改为PROD来实现丑陋尝试使用mangle选项设置为false的gulp Uglify。 即
.pipe(uglify(),{mangle:false})我已经尝试过使用gulp concat将其捆绑,但出现了错误,例如无法在系统中导入多个reguster。importOkay我知道你在说什么,我认为对于你的情况,如果你捆绑了所有文件,而不是动态加载,你应该使用webpack,而不是system.js,我会更新我的回答提到我不是在寻找替代方案,因为我在所有这些方面都遇到了太多的问题,最后终于来到了这里,这里的问题是,我们可以使用gulp缩小typescript捆绑文件并使用它吗。感谢您花费时间和帮助。问题是您需要一些分类模块加载器来处理Angular 2,而您正试图使用dynamic loader(System.JS),并按照其构建方式使用它。所以你要加倍努力来实现你的需求。这就是为什么我认为更简单的方法是将您的代码传输到Webpack,这就是为什么它出现在原始文档中。好的,dude将浏览Webpack,您能确认我可以使用Webpack捆绑、缩小js文件的两件事吗?2) 当我将html移动到separte文件夹时,它是否解决了绝对和相对epath问题?你能提供一些代码或参考资料吗?转到Youtube上的ngConf 2016视频,查看Angular CLI演示文稿。很好地开始了。小提示:如果您想使用Angular2 CLI,您必须遵循正式的项目结构。
<script src="app/Script1.js"></script>
gulp.task('MinifyBundled', function () {
console.log('testiang');
return gulp.src(config.src2)
.pipe(sourcemaps.init({ loadMaps: true }))
.pipe(uglify())
.pipe(sourcemaps.write('app/'))
.pipe(gulp.dest('app/'));
})