189 8069 5689

nuxt.js笔记-创新互联

起步:
1、全局安装vue-cli:npm install vue-cli -g
2、初始化nuxt:vue init nuxt/starter(先进入项目目录文件夹)
3、安装依赖:npm install
4、开发环境启动项目:npm run dev
5、开发完成后打包代码:npm run build
6、启动服务:npm start
一、Nuxt常用配置项
1、配置IP和端口:
开发中经常会遇到端口被占用或者指定IP的情况。我们需要在根目录下的package.json里对config项进行配置。比如现在我们想把IP配置成127.0.0.1,端口设置1818

成都创新互联是一家专注于成都网站设计、网站制作与策划设计,改则网站建设哪家好?成都创新互联做网站,专注于网站建设十余年,网设计领域的专业建站公司;建站业务涵盖:改则等地区。改则做网站价格咨询:13518219792
//package.json
  "config":{
    "nuxt":{
      "host":"127.0.0.1",
      "port":"1818"
    }
  },

配置好后,我们在终端中输入npm run dev,然后你会看到服务地址改为了127.0.0.1:1818.
2、配置全局CSS
在nuxt.config.js里进行操作:

//assets/css/normailze.css
html{
    color:red;
}
//nuxt.config.js
css:['~assets/css/normailze.css'],

PS:~表示nuxt项目根目录

二、Nuxt的路由配置和参数传递
基本路由:
Nuxt根据文件目录结构,自动给我们配置好了路由
所以我们如果需要进行页面跳转,直接在pages目录下,新建对应的页面文件夹,比如about文件夹,然后在下面建立index.vue文件,这样访问 http://localhost:3000/about,
就可以访问到下面的页面了,比如:
路由跳转不要使用a标签,因为这样会有页面的刷新跳转
使用标签

//index.vue

//news/index.vue

三、Nuxt的动态路由和参数校验
动态路由:即带参数的路由,模板结构都是一样的,根据参数的不同,显示不同的内容
动态路由命名都以 _xx 为前缀,比如_id.vue,接收使用:$route.params.id来接收参数。
这里的id和动态路由的名称一样

动态参数校验:
进入一个页面,对参数传递的正确性校验是必须的,Nuxt.js也贴心的为我们准备了校验方法validate( )。

//pages/news/_id.vue
export default {
  validate ({ params }) {
    // Must be a number
    return /^\d+$/.test(params.id)
  }
}

我们使用了validate方法,并把params传递进去,然后用正则进行了校验,如果正则返回了true正常进入页面,如果返回false进入404页面( nuxt已经帮我们默认建立好了 )。

四、Nuxt的路由动画效果
样式写在全局样式:normailze.css里面
1、全局路由动画
.page-enter-active,.page-leave-active{ transition:opacity 2s }
.page-enter,.page-leave-active{ opacity:0 }
2、单页路由动画
.test-enter-active, .test-leave-active {
transition: all 2s;
font-size:12px;

}
.test-enter, .test-leave-active {
opacity: 0;
font-size:40px;
}
然后在about/index.vue组件中设置

export default {
transition:'test'
}
这时候在进入about页面就有了页面的切换独特动效了。

五、Nuxt的默认模版和默认布局
目的:复用公共元素,比如网页标题等等

1、默认模板,可以定义包括head在内的一些公用的元素,命名为:app.html,一个完整的html文件
在根目录下创建一个app.html就可以实现默认模板的创建




   {{ HEAD }}


    

每个页面都会显示这个内容,而且是在pages每个组件内容的上面显示

{{ APP }}

这里的{{ HEAD }}读取的是nuxt.config.js里的head信息,{{APP}} 就是我们写的pages文件夹下的主体页面了,比如about、news等等。需要注意的是HEAD和APP都需要大写,如果小写会报错的。
修改删除app.html文件都需要重启服务

2、默认布局,这里是default.vue,一个vue组件,只可定制template里面的内容
默认布局主要针对于页面的统一布局使用。它在位置根目录下的layouts/default.vue。需要注意的是在默认布局里不要加入头部信息,只是关于