当前位置: 首页 > 面试题库 >

文件和文件夹的Node.js项目命名约定

东门俊民
2023-03-14
问题内容

大型Node.js项目中文件和文件夹的命名约定是什么?

我应该大写,驼峰式还是下划线?

就是 这被认为有效吗?

project-name
    app
        controllers
            someThings.js
            users.js
        models
                someThing.js
                user.js
        views
            some-things
                index.jade
            users
                logIn.jade
                signUp.jade
    ...

问题答案:

在使用node几年之后,我可以说目录/文件结构 没有 约定。但是,大多数(专业)快递应用程序都使用类似以下的设置:

/
  /bin - scripts, helpers, binaries
  /lib - your application
  /config - your configuration
  /html" target="_blank">public - your public files
  /test - your tests

使用此设置的示例是nodejs-starter。

我个人将此设置更改为:

/
  /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

更新(样式指南):

  • https://github.com/feross/standard
  • https://github.com/airbnb/javascript


 类似资料:
  • 问题内容: 我注意到Node.js项目通常包含以下文件夹: / libs,/ vendor,/ support,/ spec,/ tests 这些到底是什么意思?它们之间有什么区别,我应该在哪里包含引用的代码? 问题答案: 关于您提到的文件夹: 通常用于自定义 或 包含第三方库(使用git作为源代码管理时添加为git子模块) 包含BDD测试规范。 包含应用程序的单元测试(使用测试框架,请参见 此处

  • 这个问题是本文的后续内容:Python-根据子文件夹和文件名重命名子文件夹中的文件。 我正在尝试遍历中子文件夹中的文件,并以指定的方式重命名每个文件。以下是我目前掌握的代码: 当我运行该行时,,它正确地显示保存在中的名为的文件将被重命名为。 但是,os.rename命令返回以下错误: "必须是字符串,而不是列表。" 这似乎是由于我在os.rename命令中使用了“文件名”。据我所知,os.rena

  • 问题内容: 是否有用于命名jar文件的任何行业标准约定? 问题答案: 我一直在用 哪里: M = (在不必保持向后兼容性时更改) m = (功能添加等) b = (对于包含错误修复的版本)

  • 问题内容: 我有一个包含文件夹结构的zip文件,例如 主文件夹/ subFolder1 / subFolder2 / subFolder3 / 文件3.1 文件3.2 我想使用Java 重命名文件夹,例如在该zip文件中。 有没有比提取整个zip文件并使用新的文件夹名称重新创建一个新的方法更简单的方法? 问题答案: Zip是一种存档格式,因此变异通常涉及重写文件。 zip的某些特殊功能也会受阻(z

  • 问题内容: 我想使用“文件类”从项目文件夹中获取文件,我该怎么办? 问题答案: 嗯,有很多不同的方法来获取Java文件,但这是一般要点。 不要忘记,您至少需要将其包装在a 中,因为File是其中的一部分,这意味着它必须具有try-catch块。 不是要解决Ericson的问题,而是如果您使用的是实际的软件包,则除非明确使用文件的位置,否则文件的位置将有问题。相对路径与Packages混为一谈。 即