Node.js: 拆分代码的正确方法是什么?
Node.js: What is the proper way of splitting code?
我的 index.js 文件有很多代码,可以分成很多部分。
基本上是这样的:
importing many dependencies;
importing many custom functions;
defining constants;
setting up express;
setting up apollo-server;
post-request #1
get-request #1
requests....
app.listern on port
我希望我的 index.js
文件包含 仅导入
为此,我将代码拆分为多个 .js 文件。大多数文件不导出任何内容,但表示为像我这样的一段代码:
// it's a listen.js file
db.sequelize.sync().then(function() {
app.listen(process.env.PORT || 3000);
});
我使用 es6 语法像这样导入它(我导入整个文件):
import './core/api/rest/listen'
并得到一个错误:
db is not defined
我明白为什么它没有在listen.js
中定义,因为我没有将它导入listen.js
,但是我在导入index.js
之前导入了db
listen.js
。为什么不可见?
顺便说一句,db
这里只是引发错误的众多变量之一。
如果我错了请纠正我,但我认为如果我在 index.js 中导入我所有的 variables/constants/dependencies 所有这些变量都可以访问导入的文件
import 语句用于导入由另一个模块导出 的绑定。
请看更多:developer.mozilla.org/.../Statements/import
您需要导出要导入的class/函数/变量
我的 index.js 文件有很多代码,可以分成很多部分。
基本上是这样的:
importing many dependencies;
importing many custom functions;
defining constants;
setting up express;
setting up apollo-server;
post-request #1
get-request #1
requests....
app.listern on port
我希望我的 index.js
文件包含 仅导入
为此,我将代码拆分为多个 .js 文件。大多数文件不导出任何内容,但表示为像我这样的一段代码:
// it's a listen.js file
db.sequelize.sync().then(function() {
app.listen(process.env.PORT || 3000);
});
我使用 es6 语法像这样导入它(我导入整个文件):
import './core/api/rest/listen'
并得到一个错误:
db is not defined
我明白为什么它没有在listen.js
中定义,因为我没有将它导入listen.js
,但是我在导入index.js
之前导入了db
listen.js
。为什么不可见?
顺便说一句,db
这里只是引发错误的众多变量之一。
如果我错了请纠正我,但我认为如果我在 index.js 中导入我所有的 variables/constants/dependencies 所有这些变量都可以访问导入的文件
import 语句用于导入由另一个模块导出 的绑定。
请看更多:developer.mozilla.org/.../Statements/import
您需要导出要导入的class/函数/变量