微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

重构后Webpack停止工作:在Entry模块中找不到ERROR

如何解决重构后Webpack停止工作:在Entry模块中找不到ERROR

在我拥有以下webpack.js之前:

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

const config = {
    entry: {
        index: path.resolve(__dirname,'src') + '/index.jsx
    },plugins: [
        new CleanWebpackPlugin({
            cleanAfterEveryBuildPatterns: ['static/dist']
        })
    ],resolve: {
        extensions: ['.js','.jsx','.css'],alias: {
            '@src': path.resolve(__dirname,'src')
        }
    },module: {
        rules: [
        {
            test: /\.jsx?/,loader: 'babel-loader',exclude: /node_modules/,query:{
                presets: ['@babel/react','@babel/preset-env'],plugins: [
                        ['@babel/plugin-proposal-decorators',{ 'legacy': true }],['@babel/plugin-proposal-class-properties',{'loose': true}],'@babel/transform-runtime'
                        ]
            }
        },{
            test: /\.html$/,use: 'html-loader' 
        },{
            test: /\.md$/,use: [
              {
                loader: "html-loader"
              },{
                loader: "markdown-loader",}
            ]
        }
    ]}
};
module.exports = config;

一切正常。在决定将环境变量添加到其中之后,我不得不将内容重写为:

module.exports = (env)=>{
  const envPath = env.NODE_ENV ? `.env.${env.NODE_ENV}` : '.env';
  const config = {
    entry: {
        index: path.resolve(__dirname,}
            ]
        }
    ]}
  };
  return config;
}

现在我出现以下错误

Insufficient number of arguments or no entry found.
Alternatively,run 'webpack(-cli) --help' for usage info.


ERROR in Entry module not found: Error: Can't resolve './src' in 'D:\path'
resolve './src' in 'D:\path'

为什么现在不起作用以及如何解决

index.jsx位于path / src文件夹中。

解决方法

找到了解决方案。我忘了使用合并配置,所以我有一个webpack.dev.js,其中包含以下行:

const common = require('./webpack.common.js');

重构之后,随着webpack.common.js返回函数而不是对象,该行应更改为:

const common = require('./webpack.common.js')();

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。