[英]Application private node.js modules
我有此应用程序文件夹结构:
project root | +- controllers/ | +- models/ | +- node_modules/ | +- utils/ | +- tests/ | +- package.json
我在utils
文件夹中有一些共享功能,我想在models
, controllers
和tests
文件夹中的文件中使用它们。
我想引用utils
模块,例如var utils = require('utils');
,我想将其存储在应用程序存储库中。
我不想写类似var utils = require('../../utils');
,看起来很丑。 我不想将utils
文件夹放到node_modules
因为node_modules
存储由npm install
的第三方依赖项,并且不受版本控制,并且我不想混合私有代码和第三方代码。
有什么解决办法吗?
UPD:我知道的唯一方法是通过某种安装脚本在node_modules
文件夹中建立到utils
文件夹的符号链接。 还有其他想法吗?
您可以将NODE_PATH
添加到您的环境中:
export NODE_PATH=`pwd`
如果您在utils
目录的根目录中有一个index.js,它将找到utils
如果要通过utils
名称而不是./utils
引用某些./utils
,则该内容必须位于node_modules文件夹中。
它没有任何问题,您可以具有如下文件结构:
project root
| +- controllers/
| +- models/
| +- node_modules/
| | +- utils/
| +- tests/
| +- package.json
请注意,您必须将bundleDependencies: ['utils']
到程序包描述符文件中,否则npm不会打包它。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.