代码之家  ›  专栏  ›  技术社区  ›  Nicolas M. Pardo

Webpack JSX无法通过ES6导入解析相关模块

  •  1
  • Nicolas M. Pardo  · 技术社区  · 7 年前

    我正在为一个已经存在的大型React应用程序设置网页包。 似乎工作良好,但有些模块会造成麻烦,除非我特别添加扩展到导入

    //not working
    import AppRouter from './router';
    
    //working but meh
    import AppRouter from './router.jsx';
    

    它并不是出现在所有的相对进口,但一些我看到的看起来随机。


    对于不同的文件,该错误会发生多次

     ERROR in ./src/main/resources/js/cs/index.js
        Module not found: Error: Can't resolve './router' in '<ommited_path>/src/main/resources/js/cs'
         @ ./src/main/resources/js/cs/index.js 
    

    /src
    --/main
      --/resources
         --/js/
            --/cs
               index.js
               router.jsx
               store.js
    

    const path = require('path');
    const webpack = require('webpack');
    const paths = require('./config/paths');
    
    const config = {
        entry: {
            index: path.join(__dirname, paths.custServReactIndex),
        },
        output: {
            path: path.join(__dirname, paths.outputScriptsFolder),
            filename: '[name].js',
            publicPath: paths.outputScriptsFolder,
        },
        mode: 'development',
        module: {
            rules: [
                {
                    // Compile main index
                    test: /\.jsx?$/,
                    loader: 'babel-loader',
                },
            ],
        },
        plugins: [
            new webpack.DefinePlugin({
                'process.env.NODE_ENV': JSON.stringify(process.env.NODE_ENV),
            }),
        ],
    };
    
    module.exports = config;
    

    巴别塔

    {
        "ignore": ["node_modules"],
        "presets": ["env", "stage-0", "react"]
    }
    

    1 回复  |  直到 7 年前
        1
  •  2
  •   Hemadri Dasari    7 年前

      resolve: {
          modules: [
            path.resolve("./src"),
            path.resolve("./node_modules")
          ],
          extensions: [".js", ".jsx"]
      }