运行 webpack 抛出“回调已被调用”错误

2024-06-25

我刚刚开始学习 webpack 来管理项目中的依赖项。我正在尝试使用它为我的打字稿和 JavaScript 文件构建捆绑包。对于打字稿文件,我正在使用ts-loader处理它的插件。对于CSS,我使用的是mini-css-extract and an optimize-css-assets插入。当我尝试运行 webpack 时,出现以下错误,并且我无法找出可能导致此错误的原因。

user@system spl % npm run build

> [email protected] /cdn-cgi/l/email-protection build /Users/user/Downloads/spl
> webpack --config webpack.config.js

/Users/user/Downloads/spl/node_modules/neo-async/async.js:16
    throw new Error('Callback was already called.');
    ^

Error: Callback was already called.
    at throwError (/Users/user/Downloads/spl/node_modules/neo-async/async.js:16:11)
    at /Users/user/Downloads/spl/node_modules/neo-async/async.js:2818:7
    at processTicksAndRejections (internal/process/task_queues.js:79:11)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] /cdn-cgi/l/email-protection build: `webpack --config webpack.config.js`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the [email protected] /cdn-cgi/l/email-protection build script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /Users/user/.npm/_logs/2020-05-14T14_23_32_985Z-debug.log

以下是我用来构建 dist 文件的 webpack.config 文件。

const path = require('path');

const { CleanWebpackPlugin } = require('clean-webpack-plugin');
const HtmlWebpackPlugin = require('html-webpack-plugin');

const TerserPlugin = require('terser-webpack-plugin');
const MiniCssExtractPlugin = require('mini-css-extract-plugin');
const OptimizeCssAssetsPlugin = require("optimize-css-assets-webpack-plugin");

module.exports = {
    mode: 'production',
    entry: "./static/js/index.js",
    output: {
        filename: "bundle.[contentHash].js",  // File name with hash, based on content
        path: path.resolve(__dirname, 'dist')
    },
    optimization: {
        minimizer: [
            new OptimizeCssAssetsPlugin(),
            new TerserPlugin(),
            new HtmlWebpackPlugin({
                template: "./static/index.html",
                minify: {
                    removeAttributeQuotes: true,
                    collapseWhitespace: true,
                    removeComments: true
                }
            })
        ]
    },
    plugins: [
        new MiniCssExtractPlugin({
            filename: "[name].[contentHash].css"
        }),
        new CleanWebpackPlugin(),
    ],
    module: {
        rules: [
            {
                test: /\.html$/,
                use: [ "html-loader" ]
            },
            {
                test: /\.[tj]s$/,
                use: "ts-loader",
                exclude: /(node_modules|tests)/
            },
            {
                test: /\.css$/,
                use: [
                    MiniCssExtractPlugin.loader,
                    "css-loader"
                ]
            }
        ],
    },
    resolve: {
        alias: {
            src: path.resolve(__dirname, 'src'),
            static: path.resolve(__dirname, 'static'),
        },
        extensions: [ '.ts', '.js' ]
    }
}

我遇到了同样的问题,我意识到我正在从我的index.html file:

<link rel="stylesheet" href="./css/main.css">

尽管CSS文件应该是从入口文件导入的(index.js) using import:

import '../css/main.css'; 

所以我删除了该行<link rel="stylesheet" href="./css/main.css">并解决了问题。 您可以查看 HTML 文件并检查是否有从 HTML 文件导入的资源。我希望它有帮助。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

运行 webpack 抛出“回调已被调用”错误 的相关文章

  • Electron Auth0Lock“原始文件://不允许”

    尝试让 auth0 与我的电子应用程序一起使用 当我按照默认教程并尝试使用用户名 密码 身份验证进行身份验证时 锁定失败并显示 403 错误 并响应 不允许使用 Origin file 我还在 auth0 仪表板中客户端设置的允许来源 CO
  • 错误:Redis 连接到 127.0.0.1:6379 失败 - 连接 ECONNREFUSED 127.0.0.1:6379

    我试图允许我的nodeJs docker 映像与我的redis docker 映像 Mac OS X 环境 之间进行通信 NodeJs Dockerfile FROM node 4 7 0 slim EXPOSE 8100 COPY nod
  • 如何在nodejs中处理大量对象

    我想处理长度约为 100 000 的数组 而不会给 CPU 带来太多负载 我研究了流并偶然发现了 highlandjs 但我无法使其工作 我也尝试过使用 Promise 和分块处理 但它仍然给 CPU 带来很大的负载 如果需要 程序可能会很
  • 打字稿不适用于 tsconfig.json

    在项目中使用 tsconfig 运行 tsc watch 时 出现以下错误 它需要 Node js 中的 React 和 Redux 类型 error TS2688 Cannot find type definition file for
  • Mongoose 密码哈希

    我正在寻找一种使用 mongoose 将帐户保存到 MongoDB 的好方法 我的问题是 密码是异步散列的 setter 在这里不起作用 因为它只能同步工作 我想了两种方法 创建模型的实例并将其保存在回调中 哈希函数 在 保存 上创建预挂钩
  • 箭头函数不会在 ES6 类中绑定 `this` 吗? [复制]

    这个问题在这里已经有答案了 我很惊讶这不起作用 我在跑iojs2 3 0 与 harmony arrow functions flag class Foo constructor this foo foo sayHi return gt t
  • 使用 node.js 和 socket.io 阻止 CORS

    我最近开始学习node js和socket io 我遵循了 socket io 的简单教程 在我的计算机上运行时一切正常 但是 我决定将客户端部分上传到服务器进行测试 这就是问题开始的地方 我想在网络主机上运行聊天客户端 并在我的计算机或其
  • 简单的node js应用程序

    我正在尝试制作一个简单的表单 其中包含用户名和姓氏 当用户提交信息时 会显示另一个页面 我用 html 做了一个表单 但我不知道下一步该怎么做 有没有人有一个小型的 独立的表单示例 使用node js 这个例子并没有完全完成你的任务 但它是
  • Mongoose:populate() / DBref 或数据重复?

    我有两个收藏 Users Uploads 每次上传都有一个User与之相关 当我需要知道他们的详细信息Upload被查看 最佳做法是在上传记录中复制此数据 还是使用填充 http mongoosejs com docs populate h
  • EACCES:尝试在节点项目中使用 docker 卷时,mkdir 权限被拒绝...

    我试图使用 docker Volume 运行节点项目容器 docker run p 3000 3000 v myapp node modules v pwd myapp batzu frontend 并得到一个错误 EACCES permi
  • 如何在没有到期时间的情况下使 JWT 令牌失效

    正在使用 JWT 创建一个 Node js 后端应用程序 对我来说 要求很简单 授权令牌不应该有任何到期时间 但是当用户更改密码时 我在使 JWT 失效期间遇到问题 当用户更改密码时 我将创建一个新的 JWT 令牌 并删除旧的令牌 但用户仍
  • Javascript:同步到异步转换器库

    1 什么是更好的streamlinejs https github com Sage streamlinejs https github com Sage streamlinejs或叙述 http www neilmix com narra
  • npm 在 Windows 中不被识别为内部或外部命令

    当我尝试跑步时npm install在 Windows 上 我收到以下错误 怎样才能摆脱它呢 D Xampp htdocs laravelchat gt npm install CALL C Program Files nodejs nod
  • 玩笑 toEqual 不适用于异常匹配

    我是新来的jest所以我不确定是否是我的错 这是我的测试用例 it should throw error if wrong email or phone number is provided async gt await expect us
  • Expressjs app.VERB 调用中的 next() 和 next('route') 有什么区别?

    文档如下 app VERB 方法提供 Express 中的路由功能 其中 VERB 是 HTTP 动词之一 例如 app post 多种的 可以给出回调 所有回调都被平等对待 并且行为就像 中间件 除了这些回调可能调用的一个例外 next
  • Eslint 不忽略 node_modules 文件夹

    不知何故更新后Babel from 6 to 7 my eslint开始发出这样的警告node modules 所以 根据我的理解node modules文件夹不会被忽略 这就是问题出现的原因 所以 通读eslint docs https
  • 使用核心 Node.js 进行会话管理,无需 Express.js

    如何在核心 Node js 非express js 项目中处理 创建用于服务器端会话管理的中间件 我可以找到基于 Express 的项目的模块 但不能找到核心 Node js 的模块 请向我推荐任何用于非express js 项目的模块或中
  • 使用 mongoDB 重命名集合

    我无法重命名 mongoDB 中的集合 我可以看到它存在并且可以从中写入和读取数据 我已尝试使用节点 mongo 本机驱动程序进行以下操作 db collection mycollection renameCollection mynewc
  • 脚本不会从nodejs应用程序中的ejs文件运行

    我正在尝试使用nodejs express mysql和ejs让网页显示图表 但我显然不明白ejs javascript等是如何工作的 我需要运行一个脚本来设置图表 来自 Chart js 模块 但它不会输出任何类型的图表 我尝试过的 将
  • Promise链基本问题

    我正在尝试理解 Promise 我创建了一些有效的承诺链 而另一些则无效 我已经取得了进步 但显然缺乏基本概念 例如 以下承诺链不起作用 这是一个愚蠢的例子 但说明了问题 我正在尝试在链中使用 Node 的函数 randomBytes 两次

随机推荐