serverless-webpack无法解析模块

时间:2018-09-28 00:07:08

标签: webpack serverless serverless-webpack-plugin

从serverless-webpack中获取此错误:

ERROR in ../db/actions/index.js
Module not found: Error: Can't resolve 'amazon-dax-client' in '/var/task/db/actions'
 @ ../db/actions/index.js 2:24-52
 @ ../db/db.js
 @ ./crop.js

我的webpack.config.js文件包含:

const slsw = require('serverless-webpack')

module.exports = {
    entry: slsw.lib.entries,
    target: 'node',
    externals: {
        sharp: 'commonjs sharp',
    },
    // Run babel on all .js files and skip those in node_modules
    module: {
        rules: [{
            test: /\.js$/,
            loader: 'babel-loader',
            include: __dirname,
            exclude: /node_modules/,
        }]
    }
}

amazon-dax-client模块位于node_modules中。

我已经回滚到适用于我的最新版本的webpack和serverless-webpack:

"serverless-webpack": "4.3.0",
"webpack": "3.11.0"

关于如何解决或获取其他日志输出以解决问题的任何想法?

3 个答案:

答案 0 :(得分:0)

您可以尝试删除/ node_modules /排除项吗?如果将其删除,我想它将能够进入该文件夹并执行您需要的操作。由于amazon-dax-client位于该文件夹中,并且您要告诉Webpack忽略node_modules文件夹,因此它将无法访问该文件夹。让我知道是否有帮助。

答案 1 :(得分:0)

虽然我无法具体说出解决该问题的方法,但我不再遇到该错误。删除package-lock.jsonnode_modules似乎是催化剂。

答案 2 :(得分:0)

或者,您可以考虑使用node-prune从node_modules中删除不必要的文件(.md,.ts,...),它的效果不如webpack,但它的复杂程度较低,而且绝对不会出错。对于某些项目可能已经足够了。