当前位置: 首页 > 知识库问答 >
问题:

Webpack4ReduxReact问题-您可能需要一个适当的加载程序来处理此文件类型

牧梓
2023-03-14

我尝试使用WebPack4/Redux/React,并在示例应用程序中得到以下错误:

./src/index.js]210字节{主}[生成][失败][1个错误]+13个隐藏模块

./src/index.js模块解析失败中的错误:意外标记(3:16)您可能需要一个适当的加载程序来处理此文件类型。从“React”导入React;常量元素=

我尝试了不同的方法来解决这个问题(从注释掉的代码中可以明显看出),但没有任何成功。请让我知道我错过了什么。我的代码文件如下:

{
  "name": "react-redux-example",
  "version": "1.0.0",
  "description": "using redux architecture",
  "main": "node server.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "repository": {
    "type": "git",
    "url": "git"
  },
  "keywords": [
    "reactjs",
    "redux",
    "react",
    "hot",
    "reload",
    "live",
    "edit",
    "webpack"
  ],
  "author": "newbieToReact",
  "license": "MIT",
  "dependencies": {
    "babel": "^6.23.0",
    "mkdirp": "^0.5.1",
    "react": "^16.4.0",
    "react-router": "^4.2.0",
    "style-loader": "^0.21.0",
    "webpack": "^4.10.2",
    "webpack-dev-server": "^3.1.4"
  },
  "devDependencies": {
    "extract-text-webpack-plugin": "^4.0.0-beta.0"
  }
}

webpack.config.js

var path = require('path');
var webpack = require('webpack');
var ExtractTextPlugin = require('extract-text-webpack-plugin');
var devFlagPlugin = new webpack.DefinePlugin({
  __DEV__: JSON.stringify(JSON.parse(process.env.DEBUG || 'true'))
});

module.exports = {
  devtool: 'eval',
  entry: [
    'webpack-dev-server/client?http://localhost:3000',
    'webpack/hot/only-dev-server',
    './src/index'
  ],
  mode: "development",
  output: {
    path: path.join(__dirname, 'dist'),
    filename: 'bundle.js',
    publicPath: '/static/'
  },
  plugins: [
    new webpack.HotModuleReplacementPlugin(),
    //new webpack.NoErrorsPlugin(),
    new webpack.NoEmitOnErrorsPlugin(),
    devFlagPlugin,
    new ExtractTextPlugin('app.css')
  ],
//  module: {
//    loaders: [
//      {
//        test: /\.jsx?$/,
//        loaders: ['react-hot', 'babel'],
//        include: path.join(__dirname, 'src')
//      },
//      { test: /\.css$/, loader: ExtractTextPlugin.extract('css-loader?module!cssnext-loader') }
//    ]
//  },


//module: {
//    rules: [
//      {
//        exclude: '/node_modules/',
        //test: /\.jsx?$/,
        //test: /\.js$/,
//        test: /\.(js|jsx)$/,
//        include: path.join(__dirname, 'src'),
//        test: /\.css$/,
//        use: [
//          { loader: "react-hot" },
//          { loader: "babel" },
//          { loader: "ExtractTextPlugin.extract('css-loader?module!cssnext-loader')"},
//          { loader: "style-loader" },
//        ]
//      }
//    ]
//  },


module: {
    rules: [
      {
        exclude: '/node_modules/',
        test: /\.(js|jsx)$/,
        include: path.join(__dirname, 'src'),
        test: /\.css$/,
        loader: "react-hot",
        loader: "babel",
        loader: "ExtractTextPlugin.extract('css-loader?module!cssnext-loader')",
        loader: "style-loader",
      }
    ]
  },

  resolve: {
    extensions: ['.js', '.json']
  }
};

src/index.js

import React from 'react';

const element = <h1>Hello, world</h1>;

共有1个答案

卜勇
2023-03-14

您的模块/加载器需要test:中的另一个子句,这需要是test:/\.(jsjsx)$/,,因为您使用的是.js文件,而没有.jsx。此外,在使用.js而不是off.jsx时,最好将此内容包含在配置中:resolve:{extensions:['.js']},。另外,取消对第二个加载器的注释,因为我看到您使用的是.css这需要css-loader来工作。

您还必须将css-loaderbabel-loader添加到devDependencies。

此外,您使用的是WebPack4,这意味着ExtractTextPlugin已被弃用,因此请删除它。

希望这有帮助,祝你好运!

 类似资料:
  • 我用Webpack创建了我的项目,并在开发中使用了Vue.js,但是我不能注入

  • 我从webpack3升级了我的项目。x到网页4。28.4,当我运行用于生产的网页包时,它向我显示错误! 我使用happypack来提高编译速度! 它没有工作!有人能解决我的问题吗?非常感谢!

  • 集成在我的React应用程序的材料ui-dropzone,我得到了这个错误: ./~/coport-ui-dropzone/src/index.jsx模块解析失败:...\Client\node_modules\coport-ui-dropzone\src\index.jsx意外令牌(123:26)您可能需要一个适当的加载程序来处理此文件类型。语法错误:意外令牌(123:26) 以下是我的网页包配

  • 我不知道在ReactJS网页包中加载图像的合适加载程序是什么, 你可以帮我一把吗?我得到这个错误: 以下是网页包配置: 非常感谢!!

  • 问题内容: 我不知道什么是在ReactJS webpack中加载图像的合适的加载器, 你能帮我一下吗?我收到此错误: 这是webpack配置: 非常感激!! 问题答案: 我也遇到了这个问题,并且找到了解决方法。 首先,您需要安装两个加载器(文件加载器,URL加载器)。例如 $ npm install-保存文件加载器url加载器 如果要支持css。确保安装样式加载器。例如, $ npm instal

  • 我正在学习反应,并试图用webpack创建一个样板。我遵循了一个教程,在他的视频作品的一切,但在我的电脑上,我得到的错误消息,一个适当的加载器需要处理一个特定的文件类型。 这就是错误产生的文件 以下是错误消息: ./src/index.js 5:16模块解析中出错失败:意外标记(5:16)您可能需要适当的加载程序来处理此文件类型。|从“./components/App”导入应用程序| ReactD