一般 NodeJS 项目怎么定义项目的根目录?

2019-11-03 17:27:06 +08:00
 nyse

在 Vue 项目中( Webpack 支持),可以通过 @/xxx/xxx 代表项目 根目录下的 src/xxx/xxx 。在普通的 Node 项目中有没有办简单的实现类似的用法,要不然引入文件总是要 ../../../xxx/xxx 很不灵活。

10384 次点击
所在节点    Node.js
15 条回复
imyxz
2019-11-03 17:51:32 +08:00
以前写过一个,可以实现类似你说的那种用法
https://github.com/imyxz/hook-require-path
Hanggi
2019-11-03 18:09:32 +08:00
lerna
TomVista
2019-11-03 19:22:33 +08:00
path 包可以吧
L1shen
2019-11-03 20:03:18 +08:00
zengming00
2019-11-03 20:16:52 +08:00
傻,../../相对路径才能让 vscode 的代码静态追踪生效
foam
2019-11-03 22:17:43 +08:00
index.js 里 定义一个 global.PROJECT_ROOT = __dir__

其他 js 文件 require(`${PROJECT_ROOT}/module/xxx`);
foam
2019-11-03 22:18:50 +08:00
@zengming00 你说的追踪问题可以靠其他手段解决
zengming00
2019-11-03 22:31:42 +08:00
@foam global 在我公司是绝对禁止使用的
Hilong
2019-11-03 23:30:25 +08:00
@zengming00 了解下 jsconfig.json
FrameJack
2019-11-04 08:50:59 +08:00
FrameJack
2019-11-04 08:51:50 +08:00
噢噢是 node 项目..这就不太清楚了
waiaan
2019-11-04 08:59:39 +08:00
专门定义一个路径文件?
Biebe
2019-11-04 10:27:16 +08:00
module-alias + 1
zengming00
2019-11-04 19:15:15 +08:00
@Hilong 了解下学习成本,如果能用简单的方法解决问题,为何要引入更复杂的东西呢,对于任何一个 接盘侠 来说都不是好事, 解决了一个小问题带入了 module-alias 和 jsconfig.json 两个大麻烦
ghostcode
2019-11-18 22:27:28 +08:00
@zengming00 那怎么解决?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/615827

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX