5se7en.com
nuxtjs+express+vue2.0+vuex搭建的服务端渲染我的网站项目.
github项目地址: https://github.com/se7en-1992...
项目线上地址:https://5se7en.com/html
注意事项
- node>=v8.0.0+ (nuxt1.0.0以上版本的node版本号必须大于v8.0.0不然启动的时候会报错)
- 若要测试游戏登陆请点击前往套马游戏注册一个帐号
技术选型
这里先说两句题外话,谈一谈对前端开发产生了深远影响的两个时间点
前端
- ajax的出现,促成了Web 2.0时代的来临
- nodejs的出现,让前端能作的更多,让js不只仅只是浏览器端的语言。
这里为何要说这个呢,有些前端开发者会说node不是作后端的吗?我为何要学nodejs呢?其实随着前端的发展,尤为是node出现,前端发展突飞猛进,各类自动化工具,框架层出不穷。不少都是依赖node。node不只仅只是用来拿来写后端,能够这么说,当前时间若是你对node毫无知晓,也不去学的话,那么你已经被前端浪潮所覆盖了。vue
开发环境
- Node.js:
^8.9.4
- express:
^4.16.2
- nuxtjs:
^1.0.0-rc11
- vue:
^2.5.3
npm install
npm run dev
使用浏览器打开 http://localhost:5757
git
友情提示
nuxt介绍
- nuxt详细的入门教程这里不作详细的介绍,官方文档讲解的已经很是详细了。这里简单介绍一下项目目录做用
nuxt目录介绍
-
assets程序员
- 若是你的静态资源文件须要 Webpack 作构建编译处理,能够放到 assets 目录,不然能够放到 static 目录中去。
- Nuxt 服务器启动的时候,该目录下的文件会映射至应用的根路径 / 下,像 robots.txt 或 sitemap.xml 这种类型的文件就很适合放到 static 目录中。
-
componentsgithub
- 组件目录 components 用于组织应用的 Vue.js 组件。Nuxt.js 不会扩展加强该目录下 Vue.js 组件,即这些组件不会像页面组件那样有 asyncData 方法的特性。
简而言之此目录就是普通的vue组件目录。
-
layoutsweb
- 该目录名为Nuxt.js保留的,不可更改。
- 你能够自定义合适本身网站的默认样式和错误样式
-
middleware
-
pages
- 该目录名为Nuxt.js保留的,不可更改。
- 页面目录 pages 用于组织应用的路由及视图。Nuxt.js 框架读取该目录下全部的 .vue 文件并自动生成对应的路由配置。
- 此页面的.vue文件都具备asyncData、fech方法。
-
plugins
- 插件目录 plugins 用于组织那些须要在 根vue.js应用 实例化以前须要运行的 Javascript 插件。
- 咱们能够将element-ui或者mint-ui以及其余更多的插件均可以放在plugins中使用
-
static
- 该目录名为Nuxt.js保留的,不可更改。
- 静态文件目录 static 用于存放应用的静态文件,此类文件不会被 Nuxt.js 调用 Webpack 进行构建编译处理。 服务器启动的时候,该目录下的文件会映射至应用的根路径 / 下。
-
store
- 该目录名为Nuxt.js保留的,不可更改。
- store 目录用于组织应用的 Vuex 状态树 文件。 Nuxt.js 框架集成了 Vuex 状态树 的相关功能配置,在 store 目录下建立一个 index.js 文件可激活这些配置。
nuxt配置介绍
-
config
- 此目录并非nuxt自身目录而是一些项目经验促使我添加此目录历来更加方便的去管理和使用在项目中所须要的变量。
- NEWRELIC_KEY:newrelic的密钥,newrelic是服务器端性能监控的一款软件
- TIMBER_KEY:timber的密钥,timber是一种云日志记录系统,简单的来讲就是纪录线上的一些日志
- SENTRY_PROJECT_ID/SENTRY_PUBLIC_KEY/SENTRY_PRIVATE_KEY:Sentry的项目id,公钥,私钥,Sentry是一个开源的实时错误报告工具
- porductionProxy/developmentProxy: 是nuxt的axios模块代理请求的路径设置
- 其实我在项目启动的时候还使用了pm2有express项目经验的人用过都说好,有日志记录状态监控等,真的很好用。
- nuxt.config.js
-
.editorconfig
- EditorConfig是一套用于统一代码格式的解决方案
-
.eslintrc.js
- ESLint是一个应用普遍的 JavaScript 代码检查工具
-
gitignore
-
newrelic.js
-
start.js
- express启动入口文件,开发环境直接使用nuxt启动并无走start.js,生产环境用pm2启动的该文件