【问题标题】:Webpack require unmanaged scriptWebpack 需要非托管脚本
【发布时间】:2018-10-25 19:23:40
【问题描述】:

我在 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 脚本执行时动态地需要路径。

请帮助正确设置。

谢谢!

【问题讨论】:

    标签: javascript webpack require dynamic-import


    【解决方案1】:

    使用__non_webpack_require__ 函数解决了问题。

    【讨论】:

      猜你喜欢
      • 2013-12-29
      • 1970-01-01
      • 2010-10-04
      • 2023-04-07
      • 1970-01-01
      • 1970-01-01
      • 2018-01-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多