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 install
node_modules
package.json
my-project
node_modules
package.json
src
index.js
[...]
Run Code Online (Sandbox Code Playgroud)
当然,您总是可以cd
先进入目录,或者使用--prefix
flag,但为什么会让生活变得更困难呢?
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 次 |
最近记录: |