gpt4 book ai didi

javascript - Webpack 错误 bundle.js :1 Uncaught SyntaxError: Unexpected token <

转载 作者:数据小太阳 更新时间:2023-10-29 05:14:19 25 4
gpt4 key购买 nike

我在本地运行服务器并收到错误 bundle.js:1 Uncaught SyntaxError: Unexpected token <在输出 bundle.js 中是 index.html 文件的 html 代码。这是设置我的 webpack.config 文件。你能告诉我设置有什么问题吗?

import path from 'path';
import webpack from 'webpack';

export default {
devtool: 'eval-source-map',
entry: [
'webpack-hot-middleware/client',
path.join(__dirname, '/client/index.js' )
],
output: {
path: '/',
publicPath: '/'
},
plugins: [
new webpack.NoEmitOnErrorsPlugin(),
new webpack.optimize.OccurrenceOrderPlugin(),
new webpack.HotModuleReplacementPlugin()
],
module: {
loaders: [
{
test: /\.js$/,
include: path.join(__dirname, 'client'),
loaders: ['react-hot-loader', 'babel-loader' ]
}
]
},
resolve: {
extensions: ['.js']
}
}

index.html

<html>

<head>
<meta charset="UTF-8">
<title>Site</title>
<meta content="width=device-width, initial-scale=1" name="viewport" />
</head>

<body>
<h1>Hello bla bla bla</h1>
<div id="app"></div>

<script src="bundle.js"></script>
</body>

</html>

server/index.js

import express from 'express';
import path from 'path';

import webpack from 'webpack';
import webpackMiddeleware from 'webpack-dev-middleware';
import webpackHotMiddleware from 'webpack-hot-middleware';
import webpackConfig from '../webpack.config';


let app = express();

const compiler = webpack(webpackConfig);

app.use(webpackMiddeleware(compiler, {
hot: true,
publicPath: webpackConfig.output.publicPath,
noInfo: true
}));
app.use(webpackHotMiddleware(compiler));

app.get('/*', (req, res)=>{
res.sendFile(path.join(__dirname, './index.html'));
});

app.listen('3000', ()=>{console.log('Running on port 3000')});

客户端/index.js

import React from 'react';
import { render } from 'react-dom';
import App from './components/App';

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

组件/App.js

import React from 'react';

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

export default App;

package.json:

{
"name": "xxxxx",
"version": "1.0.0",
"description": "xxxxxxxxxx",
"main": "index.js",
"scripts": {
"server": "nodemon --watch server --exec babel-node -- server/index.js",
"test": "echo \"Error: no test specified\" && exit 1"
},
"repository": {
"type": "git",
"url": "xxxxxxxxxxxxx"
},
"keywords": [
"
],
"author": "xxxxxxxxx",
"license": "ISC",
"bugs": {
"url": "xxxxxxxxxxxxxxxxxxxxxxx"
},
"homepage": "xxxxxxxxxxxxxxxxxxxx",
"dependencies": {
"babel-cli": "^6.24.1",
"express": "^4.15.3",
"react": "^15.5.4",
"react-dom": "^15.5.4"
},
"devDependencies": {
"babel-loader": "^7.0.0",
"babel-preset-es2015": "^6.24.1",
"babel-preset-react": "^6.24.1",
"nodemon": "^1.11.0",
"react-hot-loader": "^1.3.1",
"webpack": "^2.6.1",
"webpack-dev-middleware": "^1.10.2",
"webpack-hot-middleware": "^2.18.0"
}
}

.babelrc

{
"presets": [ "es2015", "react" ]
}

谢谢。

最佳答案

你的 bundle.js src 在你的 script标签错了。它正在返回您的主要 index.html ,这就是您收到该错误的原因 - JS 解析器正在尝试解析 HTML 文件。

您必须在脚本 src 中添加斜杠: <script src="/bundle.js"></script>

如果这不起作用,您必须仔细检查您的 output配置。

关于javascript - Webpack 错误 bundle.js :1 Uncaught SyntaxError: Unexpected token <,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44541165/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com