首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何获得汇总以转换require()调用?

如何获得汇总以转换require()调用?
EN

Stack Overflow用户
提问于 2016-10-05 08:42:25
回答 1查看 1.9K关注 0票数 3

我正在尝试用汇总来构建我的项目。我已经完成了大部分工作(包括角2),但是我无法转换我的一些填充,因为它们中包含了对require()的调用。即使有了rollup-plugin-node-resolverollup-plugin-commonjs,它也不会碰require

那我怎么才能改变它们呢?我可以使用的一个解决方法是浏览填充,然后在汇总过程中包含浏览器序列化的包,但是这需要大量额外的插件,而且不是一个干净的解决方案,特别是因为我认为汇总应该能够理解CommonJS。

下面是Node.js的一些测试代码:

代码语言:javascript
复制
"use strict";
let rollup = require("rollup");
let fs = require("fs");
let resolve = require("rollup-plugin-node-resolve");
let commonjs = require("rollup-plugin-commonjs");

rollup.rollup({
    entry: "src/main.js",
    plugins: [
        resolve({
            jsnext: true,
            main: true
        }),
        commonjs({
            include: '**', // also tried src/** node_modules/** and a lot of other stuff. 
                           // Leaving this undefined stops rollup from working
        }),
    ]
}).then(function(bundle) {
    bundle.write({
        format: "iife",
        dest: "www/bundle.js"
    })
});

然后使用一个简单的文件作为src/main.js,它只包含行require("./some-file.js");,而一个包含任何东西的src/some-file.js演示了这个问题。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-10-05 20:10:43

我在拉拉普吉特的好人的帮助下解决了这个问题。

我需要将moduleName添加到bundle.write选项中,如下所示:

代码语言:javascript
复制
bundle.write({
    format: "iife",
    dest: "www/bundle.js"
    moduleName: "someModule"
})
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39869234

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档