我正在编写VS代码模块。它使用highlight.js生成HTML,用于源代码的语法突出显示。highlight.js npm模块包含一个文件夹styles,其中装满了我想要使用的CSS文件。
为了能够在运行时访问这些CSS文件,我必须做些什么?
我是说所有的人。
我怀疑在没有对每个CSS文件的明确引用的情况下,需要像require这样的东西来将它们捆绑在一起,但是我需要关于如何这样做的指导。
另外,如何访问绑定的资源?
发布于 2019-02-20 22:13:01
你没必要做任何事。捆绑自动发生。在部署扩展时,您的项目的node_modules文件夹会伴随扩展。
要访问这些模块中的资源,您需要知道它们在哪里。答案是,它们被部署到直接位于扩展路径上的node_modules文件夹中。
那么,如何在运行时确定扩展文件夹的位置?您可以使用VSCode extensions location variable描述的方法,但我不推荐它。相反,要这样做:
let x = vscode.extensions.getExtension("dilcorp.groovyext");
if (!x) {
throw new Error("Cannot resolve extension. Has the name changed? " +
"It is defined by the publisher and the extension name " +
"which are defined in package.json`);
}
let stylePath = `${x.extensionPath}/node_modules/highlight.js/styles`;以上代码分为两部分。首先,我们获得有关扩展的运行时信息,其中包括其作为属性extensionPath的绝对文件路径。
第二部分利用了扩展项目的node_modules被复制到extensionPath文件夹的事实。
这在调试器中有效。
https://stackoverflow.com/questions/54778894
复制相似问题