V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
nyse
V2EX  ›  Node.js

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

  •  
  •   nyse · 2019-11-03 17:27:06 +08:00 · 10450 次点击
    这是一个创建于 1875 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

    其他 js 文件 require(`${PROJECT_ROOT}/module/xxx`);
    foam
        7
    foam  
       2019-11-03 22:18:50 +08:00
    @zengming00 你说的追踪问题可以靠其他手段解决
    zengming00
        8
    zengming00  
       2019-11-03 22:31:42 +08:00
    @foam global 在我公司是绝对禁止使用的
    Hilong
        9
    Hilong  
       2019-11-03 23:30:25 +08:00 via Android
    @zengming00 了解下 jsconfig.json
    FrameJack
        10
    FrameJack  
       2019-11-04 08:50:59 +08:00
    FrameJack
        11
    FrameJack  
       2019-11-04 08:51:50 +08:00
    噢噢是 node 项目..这就不太清楚了
    waiaan
        12
    waiaan  
       2019-11-04 08:59:39 +08:00 via Android
    专门定义一个路径文件?
    Biebe
        13
    Biebe  
       2019-11-04 10:27:16 +08:00
    module-alias + 1
    zengming00
        14
    zengming00  
       2019-11-04 19:15:15 +08:00
    @Hilong 了解下学习成本,如果能用简单的方法解决问题,为何要引入更复杂的东西呢,对于任何一个 接盘侠 来说都不是好事, 解决了一个小问题带入了 module-alias 和 jsconfig.json 两个大麻烦
    ghostcode
        15
    ghostcode  
       2019-11-18 22:27:28 +08:00
    @zengming00 那怎么解决?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2600 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 20ms · UTC 15:18 · PVG 23:18 · LAX 07:18 · JFK 10:18
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.