【问题标题】:How to resolve module in webpack如何解析 webpack 中的模块
【发布时间】:2023-01-25 09:01:32
【问题描述】:

您好,我实际上尝试将 requrejs 迁移到 webpack 5,在运行 npx mix watch 后,我收到关于缺少模块的错误。

ERROR in ./utils/i18n.js 1:0-60
Module not found: Error: Can't resolve 'php/messages' in ....

我看到 php/messages 在 i18n ./utils/i18n.js 中是必需的,所以我尝试将别名添加到 webpack 中。我的 webpack 文件看起来像这样

const path = require('path');
let mix = require('laravel-mix');

mix.webpackConfig({
    context: path.resolve(__dirname + '/resources/assets/js'),
    entry: './main.js',
    output: {
        filename: 'bundle.js',
    },
    resolve: {
        alias: {
            "php/messages": "js/messages.js",
        }
    },
})

我错过了什么吗?我不太确定 webpack 是否至少找到了我的文件....

【问题讨论】:

    标签: javascript webpack laravel-mix


    【解决方案1】:

    看起来你正试图在你的 webpack 配置文件中为 'php/messages' 模块设置一个别名。但是,别名似乎无法正常工作,仍然找不到“php/messages”模块。

    要检查的一件事是您为别名 ('js/messages.js') 指定的路径是否正确,并且该文件确实存在于该位置。另外,请确保该路径是相对于您的 webpack 配置中指定的上下文的。

    另一件要检查的事情是您在 i18n.js 文件中使用了正确的导入语句。它应该是“从“php/messages”导入消息”,而不是“require("php/messages")”,因为 webpack 无法识别“require”语句。

    您还可以尝试使用 --debug 标志运行 webpack 以获取有关错误的更多详细信息。

    希望这可以帮助!

    【讨论】:

      猜你喜欢
      • 2017-08-07
      • 2021-07-21
      • 1970-01-01
      • 2019-08-09
      • 2016-11-04
      • 2021-05-21
      • 2017-09-21
      • 1970-01-01
      相关资源
      最近更新 更多