我刚刚在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文件夹是否适合执行此目的。
答案 0 :(得分:1)
正如我的评论一样,SO社区很难在不了解应用程序的功能的情况下决定如何构建应用程序。
但是,您已经询问node_modules
是否是执行应用程序代码的好地方......
答案是响亮的'不'。 node_modules
文件夹专门用于应用程序使用的模块,而不是应用程序本身。
典型的节点应用程序如下所示:
├── app.js
├── package.json
├── node_modules
├── module1
├── module2
├── etc...
通常,您的应用程序将使用app.js
编写,并且在命令行上执行node_modules
命令时,Node Package Manager的外部模块将存储在npm install
中。 NPM安装package.json
文件中列出的软件包。将应用程序代码存储在node_modules
中是不好的做法,因为这个文件夹通常被认为可以通过NPM重新构建,并且通常被各种应用程序/开发人员删除,以使您的应用程序更易于移植。
如果要将代码拆分为较小的块,则可以要求使用特定文件而不是已知模块。
以下是一个例子:
文件夹结构
├── app.js
├── lib
├── my-local-module.js
├── package.json
├── node_modules
<强> LIB /我的本地-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
来引导此应用程序。反过来,该代码会通过my-local-module.js
语句本地化您的require
文件。
正如我之前所说;我的建议是将你的代码保存在一个文件中,直到你觉得你的代码库已经足够大,以保证重构和将逻辑委托给其他文件。