【发布时间】:2021-06-05 13:30:12
【问题描述】:
我的网站无法加载,因为对 bundle.js 的请求反而返回了 index.html 文件。
这个项目是几年前的,当时它运行良好,但我正试图让它重新启动并运行,我不确定为什么现在会发生这种情况。如果有人可以提供帮助,我将不胜感激!
文件结构:
- src
- app
- db
- public
- assets (folder)
- styles (folder)
- index.html
- server
- auth (folder)
- routers (folder)
- server.js
- webpack.config.js
webpack.config.js:
var webpack = require('webpack');
var path = require('path');
module.exports = {
entry: path.resolve(__dirname, 'src/app', 'client.jsx'),
output: {
path: path.resolve(__dirname, 'src/public/build'),
filename: 'bundle.js'
},
module: {
rules: [
{
test: /\.jsx?$/,
include: path.resolve(__dirname, 'src/app'),
loader: 'babel-loader'
}
]
},
devtool: 'source-map'
};
来自 index.html:
<body>
<div id="app"></div>
<!-- load the app scripts -->
<script src="/build/bundle.js"></script>
</body>
来自 server.js:
app.use(express.static(path.resolve(__dirname, '../public')));
app.use('*', function (request, response){
response.sendFile(path.resolve(__dirname, '../public', 'index.html'))
})
来自 package.json:
"scripts": {
"start": "webpack --watch | nodemon --ignore node_modules ./src/server/server.js --exec babel-node"
},
来自 .babaelrc:
{
"presets": [
"@babel/preset-env",
"@babel/preset-react",
"airbnb"
],
"plugins": [
["@babel/plugin-proposal-decorators", { "legacy": true }],
["@babel/plugin-proposal-class-properties", { "loose": true }],
"react-html-attrs",
"transform-class-properties",
]
}
【问题讨论】:
-
您能否验证
public文件夹实际上包含bundle.js内部build? -
@eol 呃当然。没有带有 bundle.js 的构建文件夹。所以问题是通天塔?我已经编辑了我的帖子以包含我的启动脚本和 .babelrc 文件。有什么想法有什么问题吗?
-
@monmonomon - 你找到解决办法了吗?
标签: javascript node.js express webpack