avd*_*vdd 6 node.js npm gruntjs
在我处理它时,我更喜欢将所有生成的文件和依赖项保留在源代码树之外.
npm和grunt使这很难:npm永远不会允许移动本地node_modules,所以我必须使用--global和--prefix.但显然,咕噜不支持这样的计划.
鉴于上述限制,我如何实现目标?
所以,如果我有一个项目:
foo/
.git/
src/
gruntfile.js
package.json
Run Code Online (Sandbox Code Playgroud)
我希望我的树中没有额外的文件,特别是node_modules.(也bower_components和build等,但这个是关于NPM).此目录应保持不变,而我的工作,并运行它.就这些.
显然npm link应该这样做,但是当我尝试它时仍然安装了所有依赖项./node_modules.任何其他我无法理解的调用; 文档不清楚.
一个相关的建议是使用带有符号链接的另一个目录到我的gruntfile或package.json,但是grunt只是解析了符号链接并继续在我的原始目录中工作!
到目前为止,我最接近的是链接到例如~/.cache/foo/node_modules我的项目.虽然它实现了将deps从我的树中取出,但我仍然将这个链接弄乱了我的工作区.
我想知道是否有更好的方法.会的某种组合npm install,npm link,ln,~/.cache,NODE_PATH和PWD让我跑我的项目,从我的源代码树,并保持干净所有的非源的文物?
违反标准游泳是一个非常糟糕的想法®.
您可以(并且应该)做的是添加node_modules/到您的.gitignore(或者您给定的源控制系统的任何忽略文件),因此您不会对这些文件进行版本控制.
此外,还可以使用目录喜欢src/从强制性配置文件(组织代码和"避难所"它package.json,Gruntfile.coffee等).
| 归档时间: |
|
| 查看次数: |
2030 次 |
| 最近记录: |