我是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"
}
Run Code Online (Sandbox Code Playgroud)
这是我的 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"}
]
}
};
Run Code Online (Sandbox Code Playgroud)
这是我的 app/main.js
var React = require("react");
React.render(<h1>hello world</h1>,document.getElementById("app"));
Run Code Online (Sandbox Code Playgroud)
这是错误信息
ERROR in ./app/main.js
Module build failed: SyntaxError: ~/**/app/main.js: Unexpected token (2:13)
1 | …Run Code Online (Sandbox Code Playgroud) 我有这个代码:
"use strict";
import browserSync from "browser-sync";
import httpProxy from "http-proxy";
let proxy = httpProxy.createProxyServer({});
Run Code Online (Sandbox Code Playgroud)
我通过npm 安装babel-core并babel-cli全局安装.关键是当我尝试在终端上使用它编译时:
babel proxy.js --out-file proxified.js
Run Code Online (Sandbox Code Playgroud)
输出文件被复制而不是编译(我的意思是,它与源文件相同).
我在这里错过了什么?
我有一个webpack-dev-server运行,它编译并提供一些Babel/React代码.我已经得到它服务编译client.js结束localhost:3001.
但是当我尝试在我的HTML中包含脚本时,我在Chrome的开发者控制台中收到以下错误:
routerWarning.js:19 Uncaught SyntaxError: Unexpected token :
Run Code Online (Sandbox Code Playgroud)
该行属于react-router并包含以下代码:
process.env.NODE_ENV !== 'production' ? _warning2['default'].apply(undefined, [falseToWarn, message].concat(args)) : undefined;
Run Code Online (Sandbox Code Playgroud)
首先,我没有看到这行代码会如何导致语法错误.第二,我不明白它是如何进入的,因为这看起来像是一段编译(babelified)代码给我.最后,我不知道如何解决它!:(
任何帮助将不胜感激.