找不到入口模块:错误:无法解析'./src/index.js'

新手上路,请多包涵

我正在安装一个反应启动应用程序并添加了 Webpack,但它说 Can't resolve './src/index.js'

浏览器显示 我的应用程序看起来像这样

我的文件路径和 Package.json 内容 在此处输入图像描述

Webpack.config.js 内容

 var debug = process.env.NODE_ENV !== "production";
    var webpack = require('webpack');
    var path = require('path');

    module.exports = {
        context: path.join(__dirname, "public"),
    devtool: debug ? "inline-sourcemap" : false,
    entry: "./src/index.js",
    module: {
        loaders: [
            {
                test: /\.jsx?$/,
                exclude: /(node_modules|bower_components)/,
                loader: 'babel-loader',
                query: {
                    presets: ['react', 'es2016', 'stage-0'],
                    plugins: ['react-html-attrs', 'transform-decorators-legacy', 'transform-class-properties'],
                }
            }
        ]
    },
    output: {
        path: __dirname + "/public/",
        filename: "build.js"
    },
    plugins: debug ? [] : [
        new webpack.optimize.DedupePlugin(),
        new webpack.optimize.OccurrenceOrderPlugin(),
        new webpack.optimize.UglifyJsPlugin({ mangle: false, sourcemap: false }),
    ],
};

原文由 MD Ashik 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 855
2 个回答

您的基本 URL 是 path.join(__dirname, "public") ,您的条目是 ./src/index.js 。 Webpack 尝试在 public 目录中找到 ./src/index.js ;显然它不存在。您应该将 entry 修改为 ../src/index.js

原文由 Kermit 发布,翻译遵循 CC BY-SA 4.0 许可协议

我发现解决此问题的另一种方法是使用 path.resolve()

 const path = require('path');
module.exports = {
    mode: "production",
    entry: path.resolve(__dirname, 'src') + 'path/to/your/file.js',
    output: {
        /*Webpack producing results*/
        path: path.resolve(__dirname, "../src/dist"),
        filename: "app-bundle.js"
    }
}

这将确保 webpack 在 src 目录中寻找入口点。

顺便说一句,它是默认入口点。您也可以将此入口点更改为您合适的位置。只需将 src 目录替换为您要使用的其他目录即可。

原文由 Lokesh Pandey 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题