我想使用npm软件包(latextoMathML),但是当我在Webview上使用它时,运行扩展时出现错误:未定义引用:软件包名称(latextoXML)未定义。 我已经尝试通过let / var / const与require方法。 我想在Webview功能下的js代码中使用。
答案 0 :(得分:0)
您不能以通常的方式将npm包导入到webview中,例如:
var somelibrary = require('somelibrary')
相反,您可以将程序包作为本地资源加载。
有关详细说明,请参见网络视图API documentation和example code
为此,请执行以下最小步骤:
const panel = vscode.window.createWebviewPanel(
'viewType',
'view name',
vscode.ViewColumn.One,
{
// Enable javascript in the webview
enableScripts: true
}
);
const libraryPath = vscode.Uri.file(
path.join(extensionPath, 'node_modules', 'somelibrary', 'somelibrary.js')
);
const scriptUri = webview.asWebviewUri(libraryPath);
return '
...
<script src='$(scriptUri)'></script>
...
';