【问题标题】:How to browserify a browserified module?如何浏览化浏览器化模块?
【发布时间】:2015-12-27 02:23:47
【问题描述】:

标题看起来很混乱,但我会举个例子。

假设我创建了一个在浏览器中运行的使用 ES6 的模块,所以我使用 browserify 和 babelify 来构建所有内容。

现在我想在一个使用browserify但不使用Babel编译ES6的项目中包含同一个模块,所以我需要编译后的版本。

我试图要求这样的“浏览器”模块:

// es5-project.js
require('./compiled-module-with-browserify');

但是当我运行browserify es5-project.js 时,我开始收到一些类似这样的错误:

Error: Cannot find module './XXX' from '/Users/mauricio.oliveira/projects/project-name/dist-folder'

这是有道理的,因为browserify将所有模块编译到一个文件中,它不会在编译文件中找到模块。

有人遇到过这样的问题吗?如果有,你是怎么解决的?

谢谢!

【问题讨论】:

    标签: javascript node.js browserify commonjs


    【解决方案1】:

    找到答案了!

    这可以解决问题https://github.com/substack/browserify-handbook#browser-field

    只需在 package.json 文件中定义一个“浏览器”索引,并指向初始源文件。

    :)

    【讨论】:

    • 你能进一步解释一下吗?说我require(pkg) 在客户端上不起作用,但是 pkg.client 可以工作并且它已经被浏览器化了,我该如何捆绑它?
    • 对不起,你能告诉我更多细节吗?如果pkg.client 已经被浏览器化了,那是不是意味着pkg 也是?如果是这种情况,请在您的 pkg 模块中,在 package.json 中添加字段 "browser": index.js,考虑到 index.js 是您的 pkg 模块的入口点。 index.js 应该是 source 代码,而不是 dist(已浏览)代码。
    猜你喜欢
    • 2016-10-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-14
    • 1970-01-01
    • 1970-01-01
    • 2021-10-10
    相关资源
    最近更新 更多