我需要一个 node 的脚本.js脚本,我想保持JavaScript引擎独立.

例如,我只想在 node 下运行exports.x = y;次.js.我怎样做这个测试?


在发布这个问题时,我不知道 node .js模块功能基于CommonJS.

对于我给出的具体例子,一个更准确的问题是:

脚本如何判断它是否是CommonJS模块所必需的?

推荐答案

By looking for CommonJS supportUnderscore.js图书馆就是这样做的:

编辑:对于更新的问题:

(function () {

    // Establish the root object, `window` in the browser, or `global` on the server.
    var root = this; 

    // Create a reference to this
    var _ = new Object();

    var isNode = false;

    // Export the Underscore object for **CommonJS**, with backwards-compatibility
    // for the old `require()` API. If we're not in CommonJS, add `_` to the
    // global object.
    if (typeof module !== 'undefined' && module.exports) {
            module.exports = _;
            root._ = _;
            isNode = true;
    } else {
            root._ = _;
    }
})();

这里的示例保留了模块模式.

Node.js相关问答推荐

Jest由于UUID而无法解析测试,即使在Jest中启用ESModule支持后也是如此

使用xml-crypto时出现NodeJS XPath解析错误

PM2 是否需要成为其托管项目的依赖项?

如何从mongoose 对象内嵌套的数组中提取数组元素?

Amplify 部署的应用程序出现TypeError: handler is not a function错误,但它在本地运行

我如何在 Raku 的供应中注册不同的事件?

在对象数组中的数组中嵌套 $lookup - Mongodb

Axios 响应循环通过函数只返回第一个映射对象的结果

为什么我的 Cypress Post 请求的请求正文是空的?

将环境变量从 GitHub 操作传递到 json

为什么我的react 表单不能正常工作?

node.js 中 res.setHeader 和 res.header 的区别

Node.js mongodb 驱动程序异步/等待查询

如何将使用 Gulp 的 node 部署到 heroku

在多个 .env 文件之间切换,例如 .env.development 和 node.js

使用 MongoDB 更新嵌套数组

如何运行用 TypeScript 编写的 Mocha 测试?

对不同对象中的函数使用相同的键时,V8 中的函数调用缓慢

为什么数组上的js映射会修改原始数组?

Nodejs将字符串转换为UTF-8