模块解析失败:意外的令牌 Reactjs?

Posted

技术标签:

【中文标题】模块解析失败:意外的令牌 Reactjs?【英文标题】:Module parse failed: Unexpected token Reactjs? 【发布时间】:2020-11-16 08:17:42 【问题描述】:

./src/index.js 中的错误 6:4 模块解析失败:意外令牌 (6:4) 您可能需要适当的加载程序来处理此文件类型,目前没有配置加载程序来处理此文件。见https://webpack.js.org/concepts#loaders | | ReactDOM.render(

<App />,

| document.getElementById('app') | );

@multi ./src/index.js main[0] i 「wdm」: 编译失败。

index.jsx

import React from 'react';
import ReactDOM from 'react-dom';
import App from './components/App.jsx';

ReactDOM.render(
    <App />,
    document.getElementById('app')
);

webpack.config.js

module.exports = 
    entry: [
        './src/index.jsx'
    ],
    output:
        path: __dirname,
        filename: 'app/js/main.js'
    ,
    module:
        rules: [
           test: /\.css$/, use: 'css-loader' ,
           test: /\.ts$/, use: 'ts-loader' ,
        ]
    

【问题讨论】:

你试过重命名为index.jsx吗? ERROR in ./src/index.jsx 6:4 Module parse failed: Unexpected token (6:4) 您可能需要适当的加载器来处理此文件类型,目前没有配置加载器来处理这个文件。见webpack.js.org/concepts#loaders | ReactDOM.render( > , | document.getElementById('app') | ); @multi ./src/index.jsx main[0] i 「wdm」: 编译失败。 发布你的 webpack 配置 module.exports = 条目:[ './src/index.jsx' ],输出: 路径:__dirname,文件名:'app/js/main.js' ,模块:规则:[测试:/\.css$/,使用:'css-loader',测试:/\.ts$/,使用:'ts-loader',] 【参考方案1】:

消息很清楚,您尚未设置加载程序来转译您的jsx 文件。您的配置文件不涵盖 jsx? 文件,但您涵盖了 ts 文件。解决方案是将babel + babel-loader 添加到您的项目或将文件切换为ts 格式即可解决您的问题。

如果你仍然选择 babel,以下是基本步骤:

安装所需的软件包:

npm i -D @babel/core @babel/cli @babel/preset-env @babel/preset-react babel-loader

将 babel 加载器添加到 webpack 配置中:

rules: [
  
    test: /\.(js|jsx)$/,
    use: 
      loader: 'babel-loader',
      options: 
        presets: [
          "@babel/env",
          "@babel/react"
        ]
      ,
    ,
  ,
]

【讨论】:

./src/index.jsx 中的错误模块构建失败(来自 ./node_modules/babel-loader/index.js):类型错误:无法读取 Object.module 中未定义的属性“babel”。导出 (G:\new-react\reactquiz\node_modules\babel-loader\index.js:40:36) @ multi ./src/index.jsx main[0] 在 (webpack)-dev-server/client 中出现错误? localhost:8080 模块构建失败(来自 ./node_modules/babel-loader/index.js):TypeError: Cannot read property 'babel' of undefined at Object.module.exports (G:\new-react\reactquiz\node_modules\babel -loader\index.js:40:36) @multi (webpack)-dev-server/client?localhost:8080./src/index.jsx main[0] i 「wdm」:编译失败。 好像我错过了babel-cli 我再次编辑了答案。请检查一下 [./src/index.jsx] 239 bytes main [built] [failed] [1 error] [C:\Users\user\AppData\Roaming\npm\node_modules\webpack- dev-server\client\index.js?localhost:8080] (webpack)-dev-server/client?localhost:8080 239 bytes main [built] [failed] [1 error] ./src/index.jsx 中的错误模块构建失败(来自 ./node_modules/babel-loader/index.js):类型错误:无法读取 Object.module 中未定义的属性“babel”。导出 (G:\new-react\reactquiz\node_modules\babel-loader\index.js:40:36) @ multi ./src/index.jsx main[0]

以上是关于模块解析失败:意外的令牌 Reactjs?的主要内容,如果未能解决你的问题,请参考以下文章

React - 模块解析失败:意外的令牌

模块解析失败:Webpack Typescript Loader 中出现意外的令牌

Webpack通过“模块解析失败,出现意外令牌”

npm run build-storybook 失败并显示“模块解析失败:意外令牌 (20:25)”

React / Webpack - “模块解析失败:意外令牌 - 您可能需要适当的加载程序来处理此文件类型。”

模块解析失败:在部署Heroku时出现意外令牌(14:6)