加载Chrome扩展时出现错误Uncaught TypeError: __webpack_require__.e is not a function.加载background.js脚本时会触发该错误.

/******/    /* webpack/runtime/eagerly load chunks */
/******/    (() => {
/******/        __webpack_require__.e(352) //Error trigged at this line.
/******/    })();

他们在这个话题上已经a question岁了.我不确定如何应用拟议的解决方案.我是否需要为所有依赖项创建缓存组?

另外,我如何知道哪些模块正在导入?(模块编号352)

源代码

package.json

...
  "devDependencies": {
    "copy-webpack-plugin": "^11.0.0",
    "vue": "^2.6.11",
    "vue-loader": "^15.8.3",
    "vue-template-compiler": "^2.6.11",
    "webpack-cli": "^4.10.0",
    "webpack-dev-server": "^4.9.3",
    "webpack-target-webextension": "^1.0.3"
  }
...

webpack.config.js

const WebExtension = require('webpack-target-webextension');
const CopyPlugin = require("copy-webpack-plugin");

const webpack = require('webpack');
const path = require('path');

/** @type {webpack.Configuration} */
const config = {
  // No eval allowed in MV3
  devtool: 'cheap-source-map',
  entry: {
    background: path.join(__dirname, './src/background.js'),
    /*options: path.join(__dirname, './src/options.js'),
    popup:  path.join(__dirname, './src/popup.js'),*/
  },
  optimization: {
    minimize: false,
  },
  output: {
    path: path.join(__dirname, './dist'),
    // Our assets are emitted in /dist folder of our web extension.
    publicPath: '/dist/',
  },
  resolve: {
    alias: {
      core: path.join(__dirname, 'background'),
    },
  },
  plugins: [
    new CopyPlugin({
      patterns: [
        { from: "./src/manifest.json"},
        {
          from: "src/*.html",
          to({ context, absoluteFilename }) {
            return "./[name][ext]";
          },
        }
      ],
    }),
    new WebExtension({
      background: {
        entry: 'background',
        manifest: 3,
        weakRuntimeCheck: true,
      },
    }),
  ],
  // Add devServer.hot = true or "only" to enable HMR.
  devServer: {
    hot: 'only',
  },
}
module.exports = config

我的代码项目可以在这里找到:https://github.com/h3xstream/test-extension

npm install
npm run build

推荐答案

看起来问题出在套餐webpack-target-webextension本身.我很快判断了它的回购,显然在回购上有一个opening issue,这建议你在你的文件中有一个动态导入作为一种权宜之计.但看起来还有另一种方法来解决这个问题,关闭eagerChunkLoading:

new WebExtension({
  background: {
    // ...
    eagerChunkLoading: false,
  },
}),

Javascript相关问答推荐

如何访问react路由v6加载器函数中的查询参数/搜索参数

如何使用侧边滚动按钮具体滚动每4个格?

Redux工具包查询(RTKQ)端点无效并重新验证多次触发

在React中获取数据后,如何避免不必要的组件闪现1秒?

Chart.js V4切换图表中的每个条,同时每个条下有不同的标签.怎么做?

在Angular中将样式应用于innerHTML

当点击注册页面上的注册按钮时,邮箱重复

CheckBox作为Vue3中的一个组件

IF语句的计算结果与实际情况相反

禁用.js文件扩展名并从目录导入隐式根index.js时,找不到NodeJS导入模块

本地库中的chartjs-4.4.2和chartjs-plugin-注解

确保函数签名中的类型安全:匹配值

Use Location位置成员在HashRouter内为空

自定义图表工具提示以仅显示Y值

使用自动识别发出信号(&Q)

对具有相似属性的对象数组进行分组,并使用串连的值获得结果

在Java脚本中录制视频后看不到曲目

我不知道如何纠正这一点.

在范围数组中查找公共(包含)范围

在使用JavaScript以HTML格式显示Google Drive中的图像时遇到问题