javascript - 如何将polyfills和外部库与Rollup JS捆绑在一起?

标签 javascript angular rollupjs es5-shim reflect-metadata

这是我使用 Angular 2 的第一个应用程序。

我们运行 aot 和 rollup 来生成一个包。但我们必须始终使用 script HTML 元素将 polyfill(shim、reflect-metadata 和 zone.js)添加到 index.html。

是否可以将此填充添加到 bundle 中?

另一个问题:如何将外部 JS 库添加到 bundle 中。实际上,就像polyfills一样,我们必须将它们添加到index.html

最佳答案

您可以使用 gulp 或 webpack 之类的东西为全局变量和 polyfill 创建一个单独的包,并将其包含在您的 index.html 中。例如用 gulp 你可以做到

let globalJs = gulp.series(
    function cleanGlobalJs() {
        return del('dist/global*.js')
    },
    function BuildGlobalJs() {

        return gulp.src([
            'node_modules/core-js/client/shim.min.js',
            'node_modules/zone.js/dist/zone.min.js'
        ])
            .pipe(concat('global.js'))
            .pipe(rev())
            .pipe(gulp.dest('dist'));
    }
);

这取 self 在此处使用汇总设置的 Angular 构建 https://github.com/robianmcd/hello-angular-rollup/blob/master/gulpfile.js#L125-L139

如果您确实想要一个 bundle ,您可以将此 bundle 与汇总中的 bundle 连接起来。

关于javascript - 如何将polyfills和外部库与Rollup JS捆绑在一起?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42588809/

相关文章:

javascript - PWA 路由和深度链接 SPA 或无 SPA、框架或无框架

material-ui - 如何将 Material UI 集成到 Svelte 项目中

reactjs - 导出 Material ui主题包

javascript - Meteor 0.8.0 更新抛出 "non function"错误

javascript - 禁用点击模式打开?

javascript - 为什么即使必填字段留空也会提交此表单?

angular - Subject 和 Observable,如何删除 item,filter() list 和 next()

angular - 检查 Angular 7 中递归对象的属性

angular - 将 Rollup 用于 Angular 2 的 AoT 编译器并导入 Moment.js

javascript - 在页面加载c#上添加脚本