2017-04-05 71 views
0

node_modules其他单独的文件夹当我运行此我下载所有的依赖在node_modules目录我可以加载依赖于不是通过的package.json

{ 
    "name": "bootstrap-test-app", 
    "engine": "node 5.5.0", 
    "engineStrict": false, 
    "version": "1.0.0", 
    "description": "", 
    "main": "master.js", 
    "scripts": {}, 
    "author": "soum", 
    "license": "BSD-2-Clause", 
    "devDependencies": {}, 
    "dependencies": { 
    "bootstrap-sass": "latest", 
    "jquery": "3.1.1", 
    "requirejs": "2.1.22" 
    } 
} 

我的问题是有可能设置为一个路径依赖关系,而不是node_modules 例如让我们说在一个叫做“依赖”的dorectory中?所以,我的文件结构看起来像这样

my-app 
    package.json 
    dependencies 
    -bootstrap-sass 
    -jquery 
    -requirejs 
    node_modules 
+1

我平时总是复制这样的东西引导,jQuery的,和类似的东西到一个名为公开,并设置文件夹在我的app.js文件我的静态内容的文件夹。如果需要,可以这样做,但由于节点运行时间,依赖关系将从node_modules文件夹运行 – KeplerIO

+0

@KeplerIO - 好点。我想我可以手动移动引导程序,因为我们将为它添加覆盖...所以我想在拉下它之后,我可以从json中删除引导程序作为依赖关系,并保留其余部分并在gitignore中添加node_modules。感谢 – soum

+1

这个想法,您可以将它从node_modules中拖拽到您想要的新文件夹中,但不要将其从node_modules中删除。它会在您的应用程序中导致问题,因为Node会查看您的package.json文件,然后检查node_modules以正确加载代码。将依赖关系放在这个新的文件夹上只对将Bootstrap链接到主布局非常有帮助。html文件 – KeplerIO

回答

2

没有,现在是不可能的,这是不太可能在未来有可能我可以设置目的地 属性相对于项目的根。

从2013年开始在Github上查看这个问题,有评论:

的,未来可以从该讨论两个单引号来概括:

  1. “有什么方法可以更改为本地安装的依赖项安装node_modules文件夹的位置...... ??“
  2. “不,没有,也没有计划实施这样的功能。”

又见一个从2011年旧的问题:

你可以做的是创造你想要的目录和一个名为node_modules有类似的东西符号链接:

$ mkdir dependencies 
$ ln -sv dependencies node_modules 
‘node_modules’ -> ‘dependencies’ 
$ npm i tryjson -S 
[email protected] /home/rsp/node/test/customdeps 
└── [email protected] 
$ ls dependencies 
tryjson 

我刚想出这个想法。我不确定npm是否可以安装在符号链接的目录中,但我只是测试它,结果证明它可以。

当然要在Node中实际使用这些依赖关系,您必须相应地设置NODE_PATH环境变量。请参阅: