如何修复“未找到模块:错误:无法解决*”错误

时间:2019-05-02 13:15:49

标签: webpack

我正在使用非常基本的webpack配置,并且在server.js中使用了第三方模块。在使用webpack进行编译时,我遇到了很多错误,所有错误都表明找不到模块。我搜索了很多类似的问题和答案,但是我找不到任何正确的答案或实际回答此问题的答案...

有人说我必须将所有缺少的模块包括到依赖项中,但这就像很多这些错误,我是否真的应该全部包含它们?一些答案是我可以忽略它们,但是它对我没有效果。像这样使用它:Webpack build fails #295

服务器的文件夹结构

enter image description here

Webpack配置

const path = require("path");

module.exports = {
    mode: "production",
    entry: "./server.js",
    output: {
        path: path.resolve(__dirname, "dist"),
        filename: "server.bundle.js"
    },
    resolve: {
        extensions: [".js", ".jsx"]
    },
    module: {
        rules: [
            {
                test: /\.js$/,
                loader: "babel-loader",
                exclude: path.resolve(__dirname, "node_modules")
            }
        ]
    }
};

错误日志

ERROR in ./node_modules/consolidate/lib/consolidate.js
Module not found: Error: Can't resolve 'vash' in '/Users/X/server/node_modules/consolidate/lib'
 @ ./node_modules/consolidate/lib/consolidate.js 1553:51-66
 @ ./node_modules/consolidate/index.js
 @ ./node_modules/email-templates/lib/index.js
 @ ./common/Helpers.js
 @ ./server.js

ERROR in ./node_modules/consolidate/lib/consolidate.js
Module not found: Error: Can't resolve 'velocityjs' in '/Users/X/server/node_modules/consolidate/lib'
 @ ./node_modules/consolidate/lib/consolidate.js 201:63-84
 @ ./node_modules/consolidate/index.js
 @ ./node_modules/email-templates/lib/index.js
 @ ./common/Helpers.js
 @ ./server.js

ERROR in ./node_modules/consolidate/lib/consolidate.js
Module not found: Error: Can't resolve 'walrus' in '/Users/X/server/node_modules/consolidate/lib'
 @ ./node_modules/consolidate/lib/consolidate.js 1023:55-72
 @ ./node_modules/consolidate/index.js
 @ ./node_modules/email-templates/lib/index.js
 @ ./common/Helpers.js
 @ ./server.js

3 个答案:

答案 0 :(得分:0)

是的,我会yarn让它自动解决尽可能多的问题,然后yarn add仍然抱怨它的所有软件包。 yarn add vash

答案 1 :(得分:0)

此问题的解决方案是错误的项目结构,其中子节点文件夹中有node_modules,但父文件夹中也有node_modules。至少这不是webp [ack的错。可能您做错了。祝你好运!

答案 2 :(得分:0)

我遇到了这个问题,它源于 Visual Studio Code。我正在写“const”,但它把它当作自动完成或“cons”,所以它添加了“从“consolidate”导入cons;”到我的文件的顶部。我终于通过从 node_modules 中删除合并文件夹来解决这个问题,然后它指向哪个组件文件显示“从“合并”导入缺点;”在顶部。

因此从 node_modules 中删除 consolidate 文件夹,找到要求“从“consolidate”导入 cons 的文件;”,删除该行。如果您愿意,请再次安装 NPM。

编辑:或使用 linter,这应该比删除文件更快