[英]Vue.js + Node.js: Where is Server Config
(注意:此处使用编码进行整体擦洗,所以请理解我说的话是否愚蠢。)
我使用典型的webpack模板启动了Vue.js项目,用于制作单页应用程序。 (我没有从此修改文档结构。)最上面没有其他框架。
为了摆脱网址中的哈希,该文档讨论了打开历史记录模式 。 但是,指定后,必须配置服务器。 报价;
[...]向您的服务器添加一个简单的全部后备路由。 如果该网址与任何静态资产都不匹配,则该网址应与您的应用程序所在的index.html页面相同。
由于我使用的是Node.js + Vue.js,顶部没有添加任何其他内容,因此这应该是服务器配置的相应示例。
const http = require('http')
const fs = require('fs')
const httpPort = 80
http.createServer((req, res) => {
fs.readFile('index.htm', 'utf-8', (err, content) => {
if (err) {
console.log('We cannot open "index.htm" file.')
}
res.writeHead(200, {
'Content-Type': 'text/html; charset=utf-8'
})
res.end(content)
})
}).listen(httpPort, () => {
console.log('Server listening on: http://localhost:%s', httpPort)
})
但是,我无法终生弄清楚应该去哪里,因为它没有具体说明。 这会进入main.js吗? 路由器的index.js? 还是它是build文件夹或config中的一项内容的一部分? (例如,我在heroku上运行生产版本会有什么区别吗?)
该webpack模板随附一个已经为历史记录模式准备的webpack-dev-server
(基于Node.js):在通过npm run dev
开发应用程序时,无需编辑任何配置。
通过npm run build
部署应用程序时,必须应用docs中显示的服务器配置,这将创建一个/dist
文件夹,您可以将其内容免费上传到任何静态服务器(不一定是Node.js)。
该示例代码是Node.js服务器的主要脚本,但是几乎是基本操作,它返回index.html
的内容(代码中也有一个“ typo”,应该是.html
而不是.html
)到任何请求,但这会破坏其他任何资产请求(如CSS或JS)。 它仅用于演示目的:使用index.html
响应任何路由(URL)。
如果打算部署到Node.js服务器中,则应寻找更好的脚本。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.