gpt4 book ai didi

javascript - 使用 browserify 创建的捆绑文件中的现有模块对象

转载 作者:行者123 更新时间:2023-12-03 07:37:59 25 4
gpt4 key购买 nike

我有两个文件:a.jsb.js

a.js:

console.log(require("./b.js")());
module.exports = function () {
console.log("Hello Mars!");
};

b.js:

module.exports = function () {
console.log("Hello World");
};
<小时/>

通过捆绑这些文件,我获得了 c.js:

browserify a.js -o c.js

我希望c.js导出一个函数(调用时打印Hello Mars)。通过在 Node 进程中 requireing c.js 我得到一个空对象。

$ node
> c = require("./c.js")
Hello World
undefined
{}
> c()
TypeError: c is not a function
at repl:1:1
at REPLServer.defaultEval (repl.js:252:27)
at bound (domain.js:287:14)
at REPLServer.runBound [as eval] (domain.js:300:12)
at REPLServer.<anonymous> (repl.js:417:12)
at emitOne (events.js:82:20)
at REPLServer.emit (events.js:169:7)
at REPLServer.Interface._onLine (readline.js:210:10)
at REPLServer.Interface._line (readline.js:549:8)
at REPLServer.Interface._ttyWrite (readline.js:826:14)

由于 node 已经有一个 module 对象,我如何告诉 Browserify 将这个 module 对象用于主文件,所以我将在 Node 中使用 require 时,获取 module.exports 中的 Hello Mars 函数吗?

我查看了文档,但没有找到任何选项...也许我错过了一些东西。

我只想捆绑一个模块(具有依赖项)并在 Node 进程中require它。

最佳答案

您正在寻找以下选项:

--standalone -s
Generate a UMD bundle for the supplied export name. This bundle works with other module systems and sets the name given as a window global if no module system is found.

您可能还想传递 --node 选项,以关闭 Node 特定功能的转换。

关于javascript - 使用 browserify 创建的捆绑文件中的现有模块对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35532964/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com