Javascript 如何使用gulp uglify在angular 2中加载缩小的文件?(缩小TYpescript捆绑文件)

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

我有一个angular 2应用程序,其中定义了typescript编译器选项,以生成单个输出文件,即Scripts1.js和Scripts1.js.map

现在在我的index.html中

<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/'));

})