react 中bable转换 jsx为 js 出错

发布于 2022-09-05 08:14:36 字数 1678 浏览 12 评论 0

运行
npm run dev
报错
将jsx转化为js代码报错,求解

 [89] ./app/main.js 638 bytes {0} [built] [failed] [1 error]
    + 75 hidden modules

ERROR in ./app/main.js
Module build failed: SyntaxError: Unexpected token (16:17)

  14 | 
  15 | function main() {
> 16 |     React.render(<Hello/>, document.getElementById('app'));
     |                  ^
  17 | }

配置文件

var path = require('path');
var config = {
    entry: [
        'webpack/hot/dev-server',
        'webpack-dev-server/client?http://localhost:8080',
        path.resolve(__dirname, 'app/main.js')
    ],
    output: {
        path: path.resolve(__dirname, 'build'),
        filename: 'bundle.js'
    },
    module: {
        loaders: [{
            test: /\.jsx?$/,
            loader: 'babel-loader',
            exclude: /node_modules/
        }]
    }
};

module.exports = config;

package.json文件

{
  "name": "application-name",
  "version": "0.0.1",
  "dependencies": {
    "react": "^15.6.1",
    "webpack": "^3.4.1",
    "webpack-dev-server": "^2.6.1"
  },
  "scripts": {
    "build": "webpack",
    "dev": "webpack-dev-server"
  },
  "devDependencies": {
    "babel-core": "^6.25.0",
    "babel-loader": "^7.1.1"
  }
}

component.jsx文件

import React from 'react';

export default class Hello extends React.Component {
    render() {
        return <h1>Hello!!!</h1>;
    }
}

main.js

import React from 'react';
import Hello from './component.jsx';

main();

function main() {
    React.render(<Hello/>, document.getElementById('app'));
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

简单气质女生网名 2022-09-12 08:14:36

需要安装babel-preset-reactbabel-preset-es2015

npm install --save-dev babel-preset-react babel-preset-es2015

然后配置一下你的.babelrc,如果没有就新增

{
  "presets": ["react", "es2015"]
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文