为什么更改我的serve方法会破坏我的index.html文件?

时间:2019-08-03 02:54:25

标签: javascript html express

我最近更改了我的快递代码

// 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');

1 个答案:

答案 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)