如何使用Node + Express

时间:2018-02-14 02:45:21

标签: node.js express vue.js vuejs2 ejs

我正在使用Vuejs + Node构建一个小应用程序,但目前必须在开发中运行2个服务器:

  • 我的节点服务器:nodemon server.js
  • 和Vuejs内置脚本:npm run dev运行webpack-dev-server

当我尝试部署时,我无法弄清楚如何在加载我的vuejs应用程序的情况下呈现index.html页面。

在我的服务器上,我只是提供我的index.html文件:

app.use(express.static(__dirname + '/'));

将Index.html加载为空白页。

我尝试运行npm run build并收到以下消息,但无法弄清楚如何从那里启动我的应用。

enter image description here

这是我的index.html文件:

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0">
    <title>Startup app</title>
  </head>
  <body>
    <div id="app"></div>
    <!-- built files will be auto injected -->

  </body>
</html>

我知道带有内置的js文件没有被注入,但不知道该怎么做。有人可以帮忙吗?

2 个答案:

答案 0 :(得分:1)

尝试创建名为public的文件夹,然后将index.html放在那里。 然后通过以下方式投放index.html

app.use(express.static('public'));

答案 1 :(得分:0)

您可以使用 ejs 在服务器中呈现 html 文件,只需创建文件夹 Views 并创建文件 Home.ejs 和 npm i --save ejs 之后在您的服务器中需要 ejs 并创建获取请求以在您的服务器中呈现此文件我面临这个问题

app.set('view engine', 'ejs') 
app.get('/', function(req, res){ 
    res.render('Home')})