繁体   English   中英

Vue.js + Node.js:服务器配置在哪里

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM