Javascript 在VSCode中使用根路径变量require

Javascript 在VSCode中使用根路径变量require,javascript,node.js,visual-studio-code,require,Javascript,Node.js,Visual Studio Code,Require,我使用全局变量\u root和我的根应用程序目录的路径,然后使用require从其他文件加载代码 const Parser = require(__root + '/parsers/Parser') 问题在于vscode不了解发生了什么: 智能感知不起作用 对象类型显示为任意(如果路径正确,vscode将获取正确的类型) 有什么办法可以解决这个问题?您可以分享您解决此问题的实践吗?VS Code的intellisense无法理解动态导入路径,如root+'/path'。这方面没有解决办法,近期

我使用全局变量
\u root
和我的根应用程序目录的路径,然后使用require从其他文件加载代码

const Parser = require(__root + '/parsers/Parser')
问题在于vscode不了解发生了什么:

  • 智能感知不起作用
  • 对象类型显示为任意(如果路径正确,vscode将获取正确的类型)

  • 有什么办法可以解决这个问题?您可以分享您解决此问题的实践吗?

    VS Code的intellisense无法理解动态导入路径,如root+'/path'。这方面没有解决办法,近期也没有解决这一问题的计划

    但是,使用静态require导入路径,您可以通过配置。您可能需要的两个选项是


    设置
    jsconfig.json
    不会改变代码的运行时行为,只会改变VS code IntelliSense处理项目的方式。您可以将
    jsconfig.json
    与网页包别名一起使用,而代码的intellisense无法理解动态导入路径,如
    root+'/path'
    。这方面没有解决办法,近期也没有解决这一问题的计划

    但是,使用静态require导入路径,您可以通过配置。您可能需要的两个选项是


    设置
    jsconfig.json
    不会改变代码的运行时行为,只会改变VS code IntelliSense处理项目的方式。您可以使用
    jsconfig.json
    和网页包别名

    ,也许可以去掉
    \uuu root
    变量。谢谢您的建议@HaaLeo。我不知道webpack可以用于后端项目。这个解决方案看起来不错,但我以前从未准备过webpack(只用于准备好所有内容的框架),所以我有点担心这会花费很多时间。这不会花你太长时间。您只需在项目根目录中创建一个
    jsconfig.json
    ,并按照文档中的描述设置
    compilerOptions.paths
    属性。也许您可以去掉
    \uu root
    变量。感谢您的建议@HaaLeo。我不知道webpack可以用于后端项目。这个解决方案看起来不错,但我以前从未准备过webpack(只用于准备好所有内容的框架),所以我有点担心这会花费很多时间。这不会花你太长时间。您只需要在项目根目录中创建一个
    jsconfig.json
    ,并按照文档中的说明设置
    compilerOptions.path
    属性。谢谢。这可以作为替代方案。如果示例的答案是modified
    jsconfig.json
    ,那就太好了。例如,我们如何在
    include
    谢谢中强制它解析
    baseUrl
    root
    。这可以作为替代方案。如果示例的答案是modified
    jsconfig.json
    ,那就太好了。例如,我们如何强制它在
    include
    中解析
    baseUrl
    root