如何获得项目根目录的绝对需求/导入路径?

时间:2017-03-07 18:43:26

标签: node.js path webpack

我希望我的应用程序中的所有路径都相对于我的项目根目录,所以我不必这样做:

import foo from "../../bar.js";
var foo = require("../../bar.js");

我的应用程序的客户端是使用Webpack编译的,所以我想我可以在Webpack中使用'resolve'工具,但不愿意这样做,因为这会增加使用Webpack的依赖性。后端使用Node / Express服务器。

是否有适用于前端和后端的解决方案?

1 个答案:

答案 0 :(得分:3)

在package.json中,在以下JSON路径ln -fsn ../ 'node_modules/>'添加scripts.postinstall

{
  "scripts": {
    "postinstall": "ln -fsn ../ 'node_modules/>'"
  }
}

这将在项目的>中创建一个名为node_modules的符号链接,该链接指向项目的根文件夹。

假设您的文件结构如下所示:

project
├── bar.js
├── config
│   ├── database.js
│   ├── rabbitmq.js
│   └── env.js
├── seed
│   ├── soy.js
│   ├── wheat.js
│   ├── pumpkin.js
│   └── squash.js
├── foo
│   └── bar
│       └── baz
│           └── qux.js
├── index.js
└── package.json

foo/bar/baz/qux.js文件中,我们可能需要seed/soy.js文件,如下所示:

require('>/seed/soy')