Webpack 需要非托管脚本
Webpack require unmanaged script
我在 webpack 打包后遇到动态 require js 文件的问题。
环境:
webpack、ts-loader、打字稿。
src/index.ts:
require(path.resolve(__dirname, './test.js'));
dist/test.js:
console.log('I should be printed after require @ index');
不知道为什么,webpack 认为没有文件:
1) 运行 webpack -p
时发出警告
WARNING in ./src/index.ts
5:0-43 Critical dependency: the request of a dependency is an expression
@ ./src/index.ts
2) 运行 脚本时出错:
Error: Cannot find module "C:\Users\user\path\to\dist\test.js".
3) 我的 webpack 配置是:
const nodeExternals = require('webpack-node-externals');
module.exports = {
entry: {
index: "./src/index.ts"
},
output: {
filename: "[name].js"
},
target: "node",
externals: [ nodeExternals() ],
node: {
"__dirname": false
},
resolve: {
extensions: [".ts", ".tsx", ".js"]
},
module: {
rules: [
{ test: /\.tsx?$/, loader: "ts-loader" }
]
}
}
预期:
NodeJS 只是在 index.js 脚本执行时动态需要路径。
请帮助正确设置。
谢谢!
问题已使用 __non_webpack_require__
函数解决。
我在 webpack 打包后遇到动态 require js 文件的问题。
环境:
webpack、ts-loader、打字稿。
src/index.ts:
require(path.resolve(__dirname, './test.js'));
dist/test.js:
console.log('I should be printed after require @ index');
不知道为什么,webpack 认为没有文件:
1) 运行 webpack -p
WARNING in ./src/index.ts
5:0-43 Critical dependency: the request of a dependency is an expression
@ ./src/index.ts
2) 运行 脚本时出错:
Error: Cannot find module "C:\Users\user\path\to\dist\test.js".
3) 我的 webpack 配置是:
const nodeExternals = require('webpack-node-externals');
module.exports = {
entry: {
index: "./src/index.ts"
},
output: {
filename: "[name].js"
},
target: "node",
externals: [ nodeExternals() ],
node: {
"__dirname": false
},
resolve: {
extensions: [".ts", ".tsx", ".js"]
},
module: {
rules: [
{ test: /\.tsx?$/, loader: "ts-loader" }
]
}
}
预期:
NodeJS 只是在 index.js 脚本执行时动态需要路径。
请帮助正确设置。
谢谢!
问题已使用 __non_webpack_require__
函数解决。