gpt4 book ai didi

javascript - 如何在Node中不重复地使用require和module.exports?

转载 作者:搜寻专家 更新时间:2023-11-01 00:23:57 24 4
gpt4 key购买 nike

我在 Node 中创建了一个名为 chart.js 的类文件,它依赖于 moment.js 和一堆其他外部依赖项:

var moment = require('moment');
...
var Chart = {
doSomething: function() {
} ...
};
module.exports = Chart;

现在我想在我的 index.js 文件中使用这个 chart.js 模块,所以我按如下方式导入它:

var chart = require('chart');
chart.doSomething();

但这给了我导入错误:

ReferenceError: moment is not defined

我是否也需要在 index.js 顶部重新包含所有 require('moment') 语句?

当然我应该能够更改图表文件的要求而不必修改索引文件吗?

最佳答案

不,您不需要在每个文件中指定 require('moment')。确保正确安装了 moment JS 库,并且它位于您的 node_modules 目录中。

对于使用 npm 安装的 Node 模块,您可以使用 require('moduleName') 要求它们,因此 require('moment') 没问题。但是对于你自己的模块,你必须指定相对路径和文件名。因此,假设 index.jschart.js 处于同一级别,在您的 index.js 中,您将执行 require( './chart.js').

其他注意事项:除非您使用的是类构造函数,否则不要将变量名大写。在您的代码中,您使用的是简单的对象文字,而不是构造函数,因此无需将变量名称 Chart 大写。

关于javascript - 如何在Node中不重复地使用require和module.exports?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30487655/

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