ope*_*sas 5 conventions setup-project node.js npm package.json
我不知道是否有推荐的或标准的方法,但我看到了这样的例子:
my-project
package.json
src
index.js
[...]
Run Code Online (Sandbox Code Playgroud)
像这样:
my-project
src
package.json
index.js
[...]
Run Code Online (Sandbox Code Playgroud)
推荐的方法是什么?每种方法有什么优点/缺点吗?
我想说有三个主要因素需要考虑。
1) 您通常希望将其放置package.json在运行 npm 命令的目录中,例如或snpm install中定义的任何 npm 脚本。另外,将所有模块拉入您的旁边的目录中:package.json"scripts: {..}"npm installnode_modulespackage.json
my-project
node_modules
package.json
src
index.js
[...]
Run Code Online (Sandbox Code Playgroud)
当然,您总是可以cd先进入目录,或者使用--prefixflag,但为什么会让生活变得更困难呢?
2) 当require()你的文件中有第三方模块时.js,node.js 会在最近的目录中查找它node_modules,从当前目录开始一直向上,直到找到为止。这篇文章很好地解释了这一点。您可以使用此逻辑来隔离对不同上下文的依赖关系,例如src/和,但对于您正在处理的整个项目来说,test/拥有一个共同点通常更有意义。node_modules
3) 如果您打算发布包,则必须将package.json必要的元数据放置到该包的根目录中。package.json当有人稍后安装你的包时,npm 会期望在其根目录中看到。
它应该位于项目的根目录中。
my-project
package.json
src
index.js
[...]
Run Code Online (Sandbox Code Playgroud)
如果你这样做,npm init 它将放入项目的根目录
| 归档时间: |
|
| 查看次数: |
4204 次 |
| 最近记录: |