对于babel-loaderjsxSyntaxError:意外令牌感兴趣的读者,本文将会是一篇不错的选择,我们将详细介绍意外令牌什么意思,并为您提供关于babelwatchSyntaxError:意外
对于babel-loader jsx SyntaxError:意外令牌感兴趣的读者,本文将会是一篇不错的选择,我们将详细介绍意外令牌什么意思,并为您提供关于babel watch SyntaxError:意外令牌、babel-loader jsx SyntaxError: Unexpected token、babel-loader jsx SyntaxError:意外令牌[重复]、Create-React-App构建-“未捕获的SyntaxError:意外令牌<”的有用信息。
本文目录一览:- babel-loader jsx SyntaxError:意外令牌(意外令牌什么意思)
- babel watch SyntaxError:意外令牌
- babel-loader jsx SyntaxError: Unexpected token
- babel-loader jsx SyntaxError:意外令牌[重复]
- Create-React-App构建-“未捕获的SyntaxError:意外令牌<”
babel-loader jsx SyntaxError:意外令牌(意外令牌什么意思)
我是React + Webpack的初学者。
我在Hello World Web应用程序中发现一个奇怪的错误。
我在webpack中使用babel-loader来帮助我将jsx转换为js,但是babel似乎无法理解jsx语法。
这是我的依赖项:
"devDependencies": { "babel-core": "^6.0.14", "babel-loader": "^6.0.0", "webpack": "^1.12.2", "webpack-dev-server": "^1.12.1"},"dependencies": { "react": "^0.14.1"}
这是我的 webpack.config.js
var path = require(''path'');module.exports = { entry: [''webpack/hot/dev-server'',path.resolve(__dirname, ''app/main.js'')], output: { path: path.resolve(__dirname, ''build''), filename: ''bundle.js'' }, module: { loaders: [ { test: /\.js$/, exclude: /node_modules/, loader: "babel-loader"} ] }};
这是我的 app/main.js
var React = require("react");React.render(<h1>hello world</h1>,document.getElementById("app"));
这是错误消息
ERROR in ./app/main.jsModule build failed: SyntaxError: ~/**/app/main.js: Unexpected token (2:13) 1 | var React = require("react");> 2 | React.render(<h1>hello world</h1>,document.getElementById("app")); | ^at Parser.pp.raise (~/**/node_modules/babylon/lib/parser/location.js:24:13)
谢谢你们
答案1
小编典典添加“ babel-preset-react”
npm install babel-preset-react
并在webpack.config.js中向babel-loader添加“预设”选项
(或者您可以将其添加到您的.babelrc或package.js:http
://babeljs.io/docs/usage/babelrc/ )
这是一个webpack.config.js示例:
{ test: /\.jsx?$/, // Match both .js and .jsx files exclude: /node_modules/, loader: "babel", query: { presets:[''react''] }}
最近发布了Babel 6,并进行了重大更改:https :
//babeljs.io/blog/2015/10/29/6.0.0
如果您使用的是react 0.14,则应使用ReactDOM.render()
(from require(''react-dom'')
)而不是React.render()
:https
:
//facebook.github.io/react/blog/#changelog
更新2018
不推荐使用Rule.query,而使用Rule.options。webpack 4中的用法如下:
npm install babel-loader babel-preset-react
然后在您的webpack配置中(作为module.exports对象中module.rules数组中的条目)
{ test: /\.jsx?$/, exclude: /node_modules/, use: [ { loader: ''babel-loader'', options: { presets: [''react''] } } ], }
babel watch SyntaxError:意外令牌
当我使用babel观看jsx文件时。但是存在语法错误。
在此之前,我使用react-tools进行观看,一切都很好。
SyntaxError: assets/js/chat/chat.jsx: Unexpected token (258:16)
256 | if (this.props.isOpen) {
257 | return (
> 258 | <div className="modal-overlay">
| ^
259 | <ReactCSSTransitionGroup transitionName={this.props.transitionName}>
260 | <div className="chat-modal">
261 | {this.props.children}
以下是我的代码。
var ReactCSSTransitionGroup = React.addons.CSSTransitionGroup;
var Modal = React.createClass({
render: function() {
if (this.props.isOpen) {
return (
<div className="modal-overlay">
<ReactCSSTransitionGroup transitionName={this.props.transitionName}>
<div className="chat-modal">
{this.props.children}
</div>
</ReactCSSTransitionGroup>
</div>
)
} else {
return <div className="modal-overlay"><ReactCSSTransitionGroup transitionName={this.props.transitionName}/></div>
}
}
});
babel-loader jsx SyntaxError: Unexpected token
我是 React + Webpack 的初学者。
我在我的 hello world web 应用程序中发现了一个奇怪的错误。
我在 webpack 中使用 babel-loader 来帮助我将 jsx 转换为 js,但似乎 babel 无法理解 jsx 语法。
这是我的依赖项:
"devDependencies": { "babel-core": "^6.0.14", "babel-loader": "^6.0.0", "webpack": "^1.12.2", "webpack-dev-server": "^1.12.1"},"dependencies": { "react": "^0.14.1"}
这是我的webpack.config.js
var path = require(''path'');module.exports = { entry: [''webpack/hot/dev-server'',path.resolve(__dirname, ''app/main.js'')], output: { path: path.resolve(__dirname, ''build''), filename: ''bundle.js'' }, module: { loaders: [ { test: /\.js$/, exclude: /node_modules/, loader: "babel-loader"} ] }};
这是我的app/main.js
var React = require("react");React.render(<h1>hello world</h1>,document.getElementById("app"));
这是错误信息
ERROR in ./app/main.jsModule build failed: SyntaxError: ~/**/app/main.js: Unexpected token (2:13) 1 | var React = require("react");> 2 | React.render(<h1>hello world</h1>,document.getElementById("app")); | ^at Parser.pp.raise (~/**/node_modules/babylon/lib/parser/location.js:24:13)
谢谢你们。
答案1
小编典典添加“babel-preset-react”
npm install babel-preset-react
并在 webpack.config.js 中为 babel-loader 添加“预设”选项
(或者您可以将其添加到您的 .babelrc 或
package.js:http
://babeljs.io/docs/usage/babelrc/ )
这是一个示例 webpack.config.js:
{ test: /\.jsx?$/, // Match both .js and .jsx files exclude: /node_modules/, loader: "babel", query: { presets:[''react''] }}
最近 Babel 6 发布了,有一个大的变化: https
://babeljs.io/blog/2015/10/29/6.0.0
如果您使用的是 react 0.14,则应使用ReactDOM.render()
(from require(''react-dom'')
)
而不是React.render()
:https
://facebook.github.io/react/blog/#changelog
2018 年更新
Rule.query 已被弃用,取而代之的是 Rule.options。webpack 4 中的用法如下:
npm install babel-loader babel-preset-react
然后在你的 webpack 配置中(作为 module.exports 对象中 module.rules 数组中的一个条目)
{ test: /\.jsx?$/, exclude: /node_modules/, use: [ { loader: ''babel-loader'', options: { presets: [''react''] } } ], }
babel-loader jsx SyntaxError:意外令牌[重复]
我是React + Webpack的初学者。
我在Hello World Web应用程序中发现了一个奇怪的错误。
我在webpack中使用babel-loader来帮助我将jsx转换为js,但是babel似乎无法理解jsx语法。
这是我的依赖项:
"devDependencies": { "babel-core": "^6.0.14", "babel-loader": "^6.0.0", "webpack": "^1.12.2", "webpack-dev-server": "^1.12.1"},"dependencies": { "react": "^0.14.1"}
这是我的 webpack.config.js
var path = require(''path'');module.exports = { entry: [''webpack/hot/dev-server'',path.resolve(__dirname, ''app/main.js'')], output: { path: path.resolve(__dirname, ''build''), filename: ''bundle.js'' }, module: { loaders: [ { test: /\.js$/, exclude: /node_modules/, loader: "babel-loader"} ] }};
这是我的 app/main.js
var React = require("react");React.render(<h1>hello world</h1>,document.getElementById("app"));
这是错误消息
ERROR in ./app/main.jsModule build failed: SyntaxError: ~/**/app/main.js: Unexpected token (2:13) 1 | var React = require("react");> 2 | React.render(<h1>hello world</h1>,document.getElementById("app")); | ^at Parser.pp.raise (~/**/node_modules/babylon/lib/parser/location.js:24:13)
谢谢你们
答案1
小编典典添加“ babel-preset-react”
npm install babel-preset-react
并在webpack.config.js中向babel-loader添加“预设”选项
(或者您可以将其添加到您的.babelrc或package.js:http
://babeljs.io/docs/usage/babelrc/ )
这是一个webpack.config.js示例:
{ test: /\.jsx?$/, // Match both .js and .jsx files exclude: /node_modules/, loader: "babel", query: { presets:[''react''] }}
更新
不推荐使用Rule.query,而使用Rule.options。webpack 4中的用法如下:
npm install babel-loader babel-preset-react
然后在您的webpack配置中(作为module.exports对象中module.rules数组中的条目)
{ test: /\.jsx?$/, exclude: /node_modules/, use: [ { loader: ''babel-loader'', options: { presets: [''react''] } } ], }
Create-React-App构建-“未捕获的SyntaxError:意外令牌<”
我意识到这个问题已经被问过多次了,但对我来说却无济于事。
我正在尝试创建create-react-app
项目的静态版本,但出现以下错误:
Uncaught SyntaxError: Unexpected token < 1.ca81c833.chunk.js:1Uncaught SyntaxError: Unexpected token < main.7ced8661.chunk.js:1
由于这些文件已缩小,因此我不确定从哪里开始调试它们。
根据其他SO响应,这是我尝试过的一些事情:
//Original index.html file, which gets included in the built file:<script type="text/babel" src="https://cdnjs.cloudflare.com/ajax/libs/babel-core/5.8.24/browser.min.js"></script>//package.json"babel-preset-es2015": "^6.24.1","babel-preset-react": "^6.24.1",//.babelrc file{ "presets": ["react", "es2015", "stage-1"]}
不知道这是否相关,但是我在我的Express服务器上有这个,我认为这是标准的:
if (process.env.NODE_ENV === "production") { app.use(express.static(''client/built'')); app.get("*", (req, res) => { res.sendFile(require(''path'') .resolve(__dirname, ''client'', ''build'', ''index.html'')); })}
假设这实际上是一个JSX问题,那么整个过程就很混乱-不create-react-app
应该自动处理JSX吗?
更新 :我刚刚发布了这个问题,但是已经有了相关的更新。通过运行pm2 servebuild
,我可以通过pm2为页面提供静态服务,因此我认为问题可能出在我的服务器配置上。
答案1
小编典典我最终在这里找到答案:https :
//github.com/facebook/create-react-
app/issues/1812
我从上方修剪了完整的解决方案,但我进行了更改:
app.use(express.static(''client/build''));app.get("*", (req, res) => { res.sendFile(require(''path'') .resolve(__dirname, ''client'', ''build'', ''index.html''));})
至:
const root = require(''path'').join(__dirname, ''client'', ''build'')app.use(express.static(root));app.get("*", (req, res) => { res.sendFile(''index.html'', { root });})
我对第一个程序段不起作用肯定感到有些奇怪。我认为这与我的React项目中的相对链接有关,因为index.html
尽管出现了错误,但确实将文件传递给了浏览器。也许一个完全静态的文件可以与第一个块一起使用,但是我想知道那是否正确。
今天的关于babel-loader jsx SyntaxError:意外令牌和意外令牌什么意思的分享已经结束,谢谢您的关注,如果想了解更多关于babel watch SyntaxError:意外令牌、babel-loader jsx SyntaxError: Unexpected token、babel-loader jsx SyntaxError:意外令牌[重复]、Create-React-App构建-“未捕获的SyntaxError:意外令牌<”的相关知识,请在本站进行查询。
本文标签: