我刚刚在我的express + node.js 项目中安装了Request 模块,我想知道我应该将自定义js 文件放置在哪个文件夹中,该文件将包含以下基本上执行Request 模块的代码。
var request = require('request');
request('http://www.google.com', function (error, response, body) {
if (!error && response.statusCode == 200) {
console.log(body) // Show the HTML for the Google homepage.
}
})
这只是一个示例代码,我将拥有自己的、可能是比这更好的模式代码,因此我假设将其放在 app.js 内的奇怪位置不被认为是最佳实践。
我也不确定 node_module 文件夹是否适合此执行目的。
最佳答案
正如我的评论中所述,如果不了解应用程序的用途,SO 社区很难决定如何构建应用程序。
但是,您询问 node_modules
是否是执行应用程序代码的好地方...
答案是响亮的“不”。 node_modules
文件夹专门用于应用程序使用的模块,而不是应用程序本身。
典型的 Node 应用程序如下所示:
├── app.js
├── package.json
├── node_modules
├── module1
├── module2
├── etc...
通常,您的应用程序将使用 app.js
编写,并且您的外部模块将通过 Node Package Manager 存储在 node_modules
中。在命令行上执行npm install
命令时。 NPM 安装 package.json
文件中列出的软件包。将应用程序代码存储在 node_modules
中是不好的做法,因为该文件夹通常被认为可以通过 NPM 重新构建,并且通常会被各种应用程序/开发人员删除,以使您的应用程序更易于传输。
如果您想将代码分割成更小的 block ,那么您可以需要特定文件而不是已知模块。
这是一个例子:
文件夹结构
├── app.js
├── lib
├── my-local-module.js
├── package.json
├── node_modules
lib/my-local-module.js
module.exports = function() {
console.log('Hello World!');
}
app.js
var myLocalModule = require('./lib/my-local-module.js');
myLocalModule(); // Hello World!
每个程序都需要从某个地方开始。在这种情况下,您可以通过在命令行上运行 node app.js
来引导该应用程序。该代码反过来会通过 require
语句本地化您的 my-local-module.js
文件。
正如我之前所说;我的建议是将您的代码保留在一个文件中,直到您觉得您的代码库已经足够大以保证重构并将逻辑委托(delegate)给其他文件。
关于javascript - 文件结构的最佳实践 - 使用 Request 模块(Node.js + Express.js),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32841862/