Visual studio code 要求VSCode扩展名中的config.js文件具有绝对路径(例如“C:\…”)不起作用

Visual studio code 要求VSCode扩展名中的config.js文件具有绝对路径(例如“C:\…”)不起作用,visual-studio-code,vscode-extensions,Visual Studio Code,Vscode Extensions,我正在开发。Argdown解析器可以使用导出配置对象的Argdown.config.json文件或Argdown.config.js文件进行配置。使用Javascript文件是允许用户向Argdown解析器添加自定义插件的最简单方法 如果用户告诉解析器使用Javascript文件,则使用(使用节点的require)加载该文件,但删除缓存版本 使用Argdown命令行工具(@Argdown/cli)可以正常工作,但在VSCode扩展中找不到配置文件的模块。该扩展使用绝对文件路径来要求配置模块(例如

我正在开发。Argdown解析器可以使用导出配置对象的
Argdown.config.json
文件或
Argdown.config.js
文件进行配置。使用Javascript文件是允许用户向Argdown解析器添加自定义插件的最简单方法

如果用户告诉解析器使用Javascript文件,则使用(使用节点的require)加载该文件,但删除缓存版本

使用Argdown命令行工具(@Argdown/cli)可以正常工作,但在VSCode扩展中找不到配置文件的模块。该扩展使用绝对文件路径来要求配置模块(例如“C:\Users\my username\projects\my Argdown project\Argdown.config.js”)。这些路径在VScode扩展之外使用import fresh


VSCode扩展是否有安全限制,不允许要求具有绝对文件路径的模块?或者这不起作用的原因是什么?

这与VSCode无关。问题是由于将
import fresh
与webpack捆绑在一起造成的。我认为webpack会忽略动态导入,但事实并非如此

我很幸运:从上个月开始,webpack支持(不仅用于导入)。因此我可以使用:

require(/*webpackIgnore:true*/file);
您必须在您的网页配置中激活magic comments支持:

module.exports={
解析器:{
javascript:{
commonjsMagicComments:正确,
},
},
}
现在,下一个问题是如何将神奇的注释添加到
import fresh
包中。为此,我使用了字符串替换加载程序:

module.exports={
模块:{
规则:{
{
强制执行:“预”,
测试:/import fresh[\/\\]index\.js/,
加载器:“字符串替换加载器”,
选项:{
搜索:
“返回父项===未定义?require(文件路径):parent.require(文件路径);”,
替换:
“return parent===未定义?require(/*webpackIgnore:true*/filePath):parent.require(/*webpackIgnore:true*/filePath);”,
},
},
}
}
}
之后,我可以再次加载
argdown.config.js
文件,甚至在将所有内容与webpack捆绑在一起之后