2017-06-01 74 views
0

我正在将一个项目从Gulp迁移到Webpack 2.这是一个客户端 - 服务器应用程序(使用express)。我必须包括在我的服务器的WebPack中间件,并且还增加了此位:用Webpack dev服务器不能正常工作重新加载'sub'页面

app.get('*', function (req, res) { 
    res.sendFile(path.normalize(`${__dirname}/../client/index.html`)); 
}); 

现在,这个问题是,现在如果点击有关应用程序,东西做工精细,反应路由器加载子页面,所以一切都好。但是,如果我尝试重新加载任何这些子页面(如localhost:3000 /帐户等,我会得到一个空白页)。我认为这是因为'*'index.html被提供,这将不会呈现在这种情况下(不知道为什么,但我可以看到正在显示的页面的来源,它是index.html) 。我试图将historyApiFallback包含在dev服务器配置中,但没有帮助)。

+0

现在看来似乎是不完全一样的index.html,在重装-scenario脚本位丢失,所以这就是为什么我得到一个空白页面的解释。现在我只需要弄清楚为什么脚本标签被省略了...... – Janos

回答

0

所以我意识到问题在于devserver返回的是原始html文件,而不是由Webpack编译的原始html文件。有了这个手我做了另外一个谷歌搜索,发现了一个更好的办法来建立devserver:

app.use('*', function (req, res, next) { 
    var filename = path.join(compiler.outputPath,'index.html'); 
    compiler.outputFileSystem.readFile(filename, function(err, result){ 
    if (err) { 
     return next(err); 
    } 
    res.set('content-type','text/html'); 
    res.send(result); 
    res.end(); 
    }); 
}); 

(在这里看到:https://github.com/jantimon/html-webpack-plugin/issues/145

相关问题