Javascript 第三方库导致网页包抛出;关键依赖项:依赖项的请求是一个表达式";警告
我一直在研究vscode扩展,并尝试使用Webpack捆绑它。我的项目使用另一个项目,该项目已链接到node_模块中。我无法使用捆绑的js文件激活扩展名。嵌套项目中的第三方库使用同步rpc,其中包含动态require调用。它导致:Javascript 第三方库导致网页包抛出;关键依赖项:依赖项的请求是一个表达式";警告,javascript,node.js,typescript,webpack,vscode-extensions,Javascript,Node.js,Typescript,Webpack,Vscode Extensions,我一直在研究vscode扩展,并尝试使用Webpack捆绑它。我的项目使用另一个项目,该项目已链接到node_模块中。我无法使用捆绑的js文件激活扩展名。嵌套项目中的第三方库使用同步rpc,其中包含动态require调用。它导致: WARNING in ../twx-service-helper/node_modules/sync-rpc/lib/worker.js 52:10-27 Critical dependency: the request of a dependency is an e
WARNING in ../twx-service-helper/node_modules/sync-rpc/lib/worker.js 52:10-27
Critical dependency: the request of a dependency is an expression
我尝试使用nodeExternals来外部化node_模块,尝试在Webpack.config.js中外部化同步rpc,删除嵌套项目中的请求调用,更新同步rpc,删除package-lock.json文件并执行npm安装,但没有任何效果。My Webpack.config.js:
const path = require("path");
module.exports = {
target: "node",
mode: "production",
entry: "./src/extension.ts",
output: {
filename: "bundle.js",
path: path.resolve(__dirname, "out"),
},
devtool: "none",
module: {
rules: [
{
test: /\.ts$/,
use: "ts-loader",
exclude: /node_modules/,
},
],
},
resolve: {
extensions: [".ts", ".js"],
},
externals: {
vscode: "commonjs vscode",
},
};
我有一个类似的问题,到目前为止我能找到的就是:忽略警告。这意味着在某个地方有一个带有表达式的导入(require)(例如变量中的lib name),因此webpackage无法确定在那里加载了哪个模块。IMO此警告应该是可抑制的,因为您通常对此无能为力(尤其是当它来自第三方模块时)。是的,您可以通过添加webpack.config.js模块来抑制此警告:
exprContextCritical:false
,但当我尝试运行带有此警告的扩展时,它无法正常工作,它甚至没有激活。VS代码弄乱了路径,我得到的只是以下错误:错误:找不到module\AppData\Local\Programs\Microsoft VS code\53
VS代码文件夹中没有53这样的文件,并且没有隐式创建一个。另外,若我不使用webpack并让Typescript构建transcompile项目,那个么一切都可以正常工作。