大型Node.js项目中的文件和文件夹的命名约定是什么?
我应该大写大写,camelCase,还是低于分数?
即。这被认为有效吗?
project-name
app
controllers
someThings.js
users.js
models
someThing.js
user.js
views
some-things
index.jade
users
logIn.jade
signUp.jade
...发布于 2014-01-02 15:08:24
在使用节点数年之后,我可以说,对于目录/文件结构,没有约定。然而,大多数(专业)速递应用程序使用的设置如下:
/
/bin - scripts, helpers, binaries
/lib - your application
/config - your configuration
/public - your public files
/test - your tests使用此设置的一个示例是nodejs起动器。
我亲自将此设置更改为:
/
/etc - contains configuration
/app - front-end javascript files
/config - loads config
/models - loads models
/bin - helper scripts
/lib - back-end express files
/config - loads config to app.settings
/models - loads mongoose models
/routes - sets up app.get('..')...
/srv - contains public files
/usr - contains templates
/test - contains test files在我看来,后者与Unix样式的目录结构匹配得更好(而前者则混合了一点)。
我还喜欢这种模式来分离文件:
lib/index.js
var http = require('http');
var express = require('express');
var app = express();
app.server = http.createServer(app);
require('./config')(app);
require('./models')(app);
require('./routes')(app);
app.server.listen(app.settings.port);
module.exports = app;lib/static/index.js
var express = require('express');
module.exports = function(app) {
app.use(express.static(app.settings.static.path));
};这允许将所有源代码整齐地解耦,而不必麻烦依赖项。对付讨厌的Javascript的一个很好的解决方案。一个真实的例子是附近,它使用这个设置。
更新(文件名):
关于文件名,最常见的是短、小写文件名。如果您的文件只能用两个单词来描述,那么大多数JavaScript项目都使用下划线作为分隔符。
更新(变量):
对于变量,同样的“规则”适用于文件名。但是,原型或类应该使用camelCase。
更新(样式指南):
发布于 2017-07-03 09:41:59
对所有包、文件夹和文件名使用kebab-case。
为什么?
您应该想象有一天,任何文件夹或文件都可能被解压缩到它自己的包中。包不能包含大写字母。
新包的名称不得带有大写字母。https://docs.npmjs.com/files/package.json#name
因此,不应该使用camelCase。这就剩下snake_case和kebab-case了。
到目前为止,kebab-case是最常见的惯例。仅对内部节点包使用下划线,这只是早期的约定。
发布于 2014-01-04 22:25:45
没有约定。有一些逻辑结构。
我唯一能说的是:永远不要使用camelCase文件和目录名。为什么?它可以工作,但在Mac和Windows上,someAction和某些操作并没有什么不同。我遇到了这个问题,一次也没有。我需要这样的文件:
var isHidden = require('./lib/isHidden');但遗憾的是,我创建了一个包含小写的文件:lib/ishidden.js。对我来说很管用。在我同事的麦克身上很好。测试运行时没有错误。部署之后,我们得到了一个巨大的错误:
Error: Cannot find module './lib/isHidden'哦,是的。这是一个linux机器。因此,camelCase目录结构可能是危险的。对于在Windows或Mac上开发的同事来说,这已经足够了。
因此,如果需要,可以使用下划线(_)或破折号(-)分隔符。
https://stackoverflow.com/questions/18927298
复制相似问题