vue-ssr 新建一个项目(hello Word版)

软件发布|下载排行|最新软件

当前位置:首页IT学院IT技术

vue-ssr 新建一个项目(hello Word版)

silencetea   2020-03-07 我要评论
本地新建项目文件夹,随便命个名,比如skillshow。 然后运行`npm init`初始化,生成package.json 使用npm下载相关依赖资源包 ``` npm install vue vue-server-renderer --save npm install express --save ``` 新建一些文件夹和文件,最后的文件结构如下(忽略掉entry-client.js): ![vue-ssr项目结构](https://github.com/silencetea/blog-image/blob/master/images/vue-ssr%E9%A1%B9%E7%9B%AE%E7%BB%93%E6%9E%84.png?raw=true) src下的各个文件的hello代码如下: app.js ``` javascript const Vue = require('vue') module.exports = function createApp(context) {     return new Vue({         data: {             url: context.url         },         template: `
the page URL is:  {{ url }}
`     }) } ``` entry-server.js ``` javascript const Vue = require('vue') const server = require('express')() const renderer = require('vue-server-renderer').createRenderer({     template: require('fs').readFileSync('./src/index.template.html', 'utf-8') // 注意这里的文件路径可别写错啦 }) server.get('*', (req, res) => {     const createApp = require('./app')     const context = {         url: req.url     }     const app = createApp(context)     renderer.renderToString(app, (err, html) => {         if (err) {             res.status(500).end('Internal Server Error')             return         }         res.end(html)     }) }) const port = 8080; const hostname = '127.0.0.1'; server.listen(port, hostname, () => {     console.log(`服务器运行在 http://${hostname}:${port}/`); }); ``` index.tmplate.html ```html

Copyright 2022 版权所有 软件发布 访问手机版

声明:所有软件和文章来自软件开发商或者作者 如有异议 请与本站联系 联系我们