Heim > Fragen und Antworten > Hauptteil
//文件树
/app
├components
| ├login
| | └index.js
| ├video
| | └index.js
| └posts
| └index.js
├config
├containers
| ├login
| | └index.js
| ├video
| | └index.js
| └posts
| └index.js
└src
比如我要在containers -> login -> index.js
加载components-> login -> index.js
,我要这样写:
require('../../components/login');
有没有可以直接加载绝对路径的方法?类似这样:
require('/components/login');
或者其他方案?
黄舟2017-04-17 15:33:57
require() 可以用绝对路径的,可以这样:
var prefix = '/path/to/app';
require(preifx + '/components/login');
如楼上所说,不建议使用绝对路径。
巴扎黑2017-04-17 15:33:57
你需要明白的一件事情,你的node服务是放在服务端上的,哪里来的唯一的绝对路径(这个跟前端浏览器使用requirejs很一样),只有相对路径(相对当前服务器而言)。
不过可以结合__dirname 和 path 写一个通用的方法来取路径
在你nodejs入口文件例如 app.js 里面
global.prefixPath = path.resolve(__dirname, 'XXX')
后面使用的时候 就可以 require(global.prefixPath + 'XXX')
https://nodejs.org/dist/lates...
PHP中文网2017-04-17 15:33:57
node在执行的过程中会有一个变量和一个可以产生路径的方法:
process.cwd()
是当前执行node命令时候的文件夹地址 __dirname
是被执行的js 文件的地址
直接拼吧
require('f:/code/components/login');
require(path.resolve(process.cwd(), '../../components/login'));
// ...