我正在尝试创建一个反应应用程序,该应用程序已经为我创建了一个server.coffee文件。我设置了babel和webpack,并创建了index.js和app.js文件。我在index.html上为bundle.js添加了脚本标记。当我在localhost上运行服务器时,我不断收到错误消息:无法加载资源:服务器对bundle.js:1的状态为404(未找到)的响应。我在本地目录中看到该文件。我想念什么?
HTML文件:
Record
我的webpack:
<!DOCTYPE html>
<html>
<head>
<link href="https://fonts.googleapis.com/css?family=Open+Sans" rel="stylesheet">
<link href="/static/base.css" rel="stylesheet">
<script defer src="./bundle.js"></script>
</head>
<body>
<div id="app"></div>
</body>
</html>
我的.babelrc:
module.exports = {
entry: ['@babel/polyfill','./client/index.js'],
mode: 'development',
output: {
path: __dirname,
filename: './public/bundle.js'
},
devtool: 'source-maps',
module: {
rules: [
{
test: /\.js$/,
exclude: /node_modules/,
use: {
loader: 'babel-loader'
}
}
]
}
}
我的目录结构:
{
"presets": ["@babel/preset-react", "@babel/preset-env"]
}
这是我正在运行的脚本:
client
|-index.js
|-App.js
public
|-bundle.js
|-index.html
.babelrc
package.json
server.coffee
webpack.config.js
最后这是我server.coffee文件中的app.get:
"scripts": {
"start": "coffee server.coffee",
"start-dev": "webpack -w & coffee server.coffee"
}
再次是我遇到的错误。 GET http://localhost:3000/bundle.js net :: ERR_ABORTED 404(未找到)
在终端上没有编译错误或任何东西。仅控制台错误。任何帮助表示赞赏!我知道如何完成项目的其余部分,但是如果不运行React,这是不可能的。
答案 0 :(得分:0)
在express.static()
路线之前,您需要使用app.get()
。
app.use(express.static('public'))
或者在Coffeescript中
app.use express.static 'public'