我最近更改了我的快递代码
// correctly located index.html
app.use('/', express.static(root_path));
到
// correctly locates index.html
// but index.html paths are broken
app.get('/', (req, res) => {
res.sendFile(path.join(cud, '..', 'index.html'));
});
请注意,在两种情况下均可正确提供index.html。但是index.html中的代码路径中断。
// loads a script using the DOM and an optional argument to bust the cache
function loadScript(path, bust) {
console.log("Loading | " + path + " | " + bust)
const ref = document.getElementsByTagName( 'div' )[ 0 ];
const bundle = document.createElement( 'script' );
if(bust){
path = path + '?cache_buster=' + bust;
}
bundle.src = path;
ref.parentNode.insertBefore( bundle, ref );
}
loadScript('dist/bundle.js');
答案 0 :(得分:0)
您需要使用express.static
来提供public
目录中的所有文件。
app.use(express.static('path/to/public/folder'))
您应该继续使用app.get('/'...
,这是正确的方法。
const express = require('express')
const app = express()
app.use(express.static('public'))
app.get('/', (req, res) => {
res.sendFile(path.join(__dirname + 'index.html'))
}
app.listen(process.env.PORT || 3000)