怎么让新建的express包用公共的node_module? 因为不想每个包都安装一个node_module
发布于 2年前 作者 surgit 1069 次浏览

怎么让新建的express包用公共的node_module? 因为不想每个包都安装一个node_module

9 回复

不是很理解,文件夹放在查找的路径上就好了。。。

按照nodejs的module读取机制,你可以放到global-path中或者install-path。如果你不知道这2个位置就在上一级文件夹下新建node_module作为公共module使用。结构如下:

|-c:\\
    |-node_apps
        |-expresss_test_app
            |-node_modules                 //express_test_app独享的node_modules
                |-ejs
                |-mongodb
            |-app.js
            |-package.json
        |-rrestjs_test_app
            |-app.js
            |-package.json
        |-web_socket_test_app
        |-node_chart_test_app
    |-node_modules                         //公共node_modules
        |-rrestjs
        |-expresss
        |-jade
        |-MIME

在 /usr/local/lib/node_modules 下面不是有一个node_modules么,就是问,如何都用这个modules的。

@surgit 看看node_modules的查找机制吧,我一般都不把node_modules放到安装库、用户库、全局库中,以上方式应该很好解决。

你要想想,你部署的时候全局没有包,本地也没有包,那不歇菜了。 所以默认用自己的包是为了保险。这个不要有洁癖就行了。

在根目录,用ln 命令建立一个软连接…

express库的package.json写了很多依赖库,npm install 的时候会检查这些依赖库在当前项目根目录的“node_modules”目录有没有安装对应的库,如果没有,就自己去下载一份放在express目录下的“node_modules”目录。如果已经有了,就不会重复安装。

回到顶部