使用NodeJS别名模块

这里的一些背景: 这不是我不能使用Webpack,而是我不想使用Webpack 。 我想尽可能保持一切为“香草”。

目前在项目中创build模块时,您必须要求使用相对或绝对path,例如在以下目录中。

project/ ├── index.js ├── lib/ │ ├── network/ │ │ request.js │ │ response.js ├── pages/ │ ├── foo.js 

考虑到我们在index.js中,我们会通过导入请求

 var networkRequest = require('./lib/network/request.js') 

如果我们在foo.js,我们会通过导入请求

 var networkRequest = require('../lib/network/request.js') 

我想知道的是,如果有什么办法,可以在Package.json或其他地方设置一个本地别名:

 localPackages = [ { name: 'network-request', path: './lib/network/request.js' } ]; 

你可以做的

 var networkRequest = require('network-request') 

从任何文件,它将提供正确的path。

是的,这就是npm链接 。 本机和开箱即用。

你也可以在package.json中设置本地path

 { "name": "baz", "dependencies": { "bar": "file:../foo/bar" } }