欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

快速了解vue-cli3.0新特性

vue-cli 是 vue 官方團隊推出的一款快速開發(fā) vue 項目的構(gòu)建工具,具有開箱即用并且提供簡潔的自定義配置等功能。 vue-cli 從 2.0 到 3.0 的升級有太多的新東西可以說了,但是不可能在本文中列舉所有的內(nèi)容,這篇文章作為一個對比 2.0 升級功能的導(dǎo)讀,讓你快速了解 3.0 更新的內(nèi)容。

成都創(chuàng)新互聯(lián)-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價比黃浦網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式黃浦網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋黃浦地區(qū)。費用合理售后完善,十載實體公司更值得信賴。

一.創(chuàng)建項目:

創(chuàng)建項目命令的變化。

vue create my-project

3.0 版本包括默認預(yù)設(shè)配置 和 用戶自定義配置。

自定義功能配置包括以下功能:

  • TypeScript
  • Progressive Web App (PWA) Support
  • Router
  • Vuex
  • CSS Pre-processors
  • Linter / Formatter
  • Unit Testing
  • E2E Testing

可以注意到 3.0 版本直接新加入了 TypeScript 以及 PWA 的支持。

在選擇 CSS 預(yù)處理后會提示選擇哪一種預(yù)處理器:

  • SCSS/SASS
  • LESS
  • Stylus

以及 eslint 規(guī)范的選擇:

  • ESLint with error prevention only
  • ESLint + Airbnb config
  • ESLint + Standard config
  • ESLint + Prettier

最后選擇 Babel, PostCSS, ESLint 等自定義配置的存放位置:

  • In dedicated config files
  • In package.json

選擇好后,可以把以上配置存儲為預(yù)設(shè)值,以后通過 vue-cli 創(chuàng)建的其他項目將都采用剛才的配置。

二. 項目目錄結(jié)構(gòu)變化:

我們對比發(fā)現(xiàn) vue-cli 3.0 默認項目目錄相比 2.0 來說精簡了很多。

  • 移除了配置文件目錄, config 和 build 文件夾。
  • 移除了 static 文件夾,新增 public 文件夾,并且 index.html 移動到 public 中。
  • 在 src 文件夾中新增了 views 文件夾,用于分類 視圖組件 和 公共組件。

三.移除了配置文件目錄后如何自定義配置。

從 3.0 版本開始,在項目的根目錄放置一個 vue.config.js 文件, 可以配置該項目的很多方面。

vue.config.js 應(yīng)該導(dǎo)出一個對象,例如:

module.exports = {
 baseUrl: '/',
 outputDir: 'dist',
 lintOnSave: true,
 compiler: false,
 // 調(diào)整內(nèi)部的 webpack 配置。
 // 查閱 https://github.com/vuejs/vue-doc-zh-cn/vue-cli/webpack.md
 chainWebpack: () => {},
 configureWebpack: () => {},
 // 配置 webpack-dev-server 行為。
 devServer: {
  open: process.platform === 'darwin',
  host: '0.0.0.0',
  port: 8080,
  https: false,
  hotOnly: false,
  // 查閱 https://github.com/vuejs/vue-doc-zh-cn/vue-cli/cli-service.md#配置代理
  proxy: null, // string | Object
  before: app => {}
 }
 ....
}

調(diào)整 webpack 配置最簡單的方式就是在 vue.config.js 中的 configureWebpack 選項提供一個對象,該對象將會被 webpack-merge 合并入最終的 webpack 配置。

示例代碼:配置 webpack 新增一個插件。

// vue.config.js
module.exports = {
 configureWebpack: {
  plugins: [
   new MyAwesomeWebpackPlugin()
  ]
 }
}

修改插件選項的參數(shù)你需要熟悉 webpack-chain 的 API 并閱讀一些源碼以便了解如何權(quán)衡這個選項的全部配置項,但是它給了你比直接修改 webpack 配置中的值更靈活且安全的方式。

// vue.config.js
module.exports = {
  chainWebpack: config => {
    config
      .plugin('html')
      .tap(args => {
        return [/* new args to pass to html-webpack-plugin's constructor */]
      })
  }
}
注意:當我們更改一個webpack配置時候,可以通過 vue inspect > output.js 輸出完整的配置清單,注意它輸出的并不是一個有效的 webpack 配置文件,而是一個用于審查的被序列化的格式。

查看更多細節(jié)

四. ESLint、Babel、browserslist 相關(guān)配置:

Babel 可以通過 .babelrc 或 package.json 中的 babel 字段進行配置。

ESLint 可以通過 .eslintrc 或 package.json 文件中的 eslintConfig 字段進行配置。

你可能注意到了 package.json 中的 browserslist 字段指定了該項目的目標瀏覽器支持范圍。

五. 關(guān)于 public 目錄的調(diào)整。

vue 約定 public/index.html 作為入口模板會通過 html-webpack-plugin 插件處理。在構(gòu)建過程中,資源鏈接將會自動注入其中。除此之外,vue-cli 也自動注入資源提示( preload/prefetch ), 在啟用 PWA 插件時注入 manifest/icon 鏈接, 并且引入(inlines) webpack runtime / chunk manifest 清單已獲得最佳性能。

在 JavaScript 或者 SCSS 中通過 相對路徑 引用的資源會經(jīng)過 webpack 處理。放置在 public 文件的資源可以通過絕對路徑引用,這些資源將會被復(fù)制,而不經(jīng)過 webpack 處理。

小提示:圖片最好使用相對路徑經(jīng)過 webpack 處理,這樣可以避免很多因為修改網(wǎng)站根目錄導(dǎo)致的圖片404問題。

六. 新增功能:

1. 對 TypeScript 的支持。

在 3.0 版本中,選擇啟用 TypeScript 語法后,vue 組件的書寫格式有特定的規(guī)范。

示例代碼:

import { Component, Emit, Inject, Model, Prop, Provide, Vue, Watch } from 'vue-property-decorator'
const s = Symbol('baz')
@Component
export class MyComponent extends Vue {
 @Emit()
 addToCount(n: number){ this.count += n }
 @Emit('reset')
 resetCount(){ this.count = 0 }
 @Inject() foo: string
 @Inject('bar') bar: string
 @Inject(s) baz: string
 @Model('change') checked: boolean
 @Prop()
 propA: number
 @Prop({ default: 'default value' })
 propB: string
 @Prop([String, Boolean])
 propC: string | boolean
 @Provide() foo = 'foo'
 @Provide('bar') baz = 'bar'
 @Watch('child')
 onChildChanged(val: string, oldVal: string) { }
 @Watch('person', { immediate: true, deep: true })
 onPersonChanged(val: Person, oldVal: Person) { }
}

以上代碼相當于

const s = Symbol('baz')
export const MyComponent = Vue.extend({
 name: 'MyComponent',
 inject: {
  foo: 'foo',
  bar: 'bar',
  [s]: s
 },
 model: {
  prop: 'checked',
  event: 'change'
 },
 props: {
  checked: Boolean,
  propA: Number,
  propB: {
   type: String,
   default: 'default value'
  },
  propC: [String, Boolean],
 },
 data () {
  return {
   foo: 'foo',
   baz: 'bar'
  }
 },
 provide () {
  return {
   foo: this.foo,
   bar: this.baz
  }
 },
 methods: {
  addToCount(n){
   this.count += n
   this.$emit("add-to-count", n)
  },
  resetCount(){
   this.count = 0
   this.$emit("reset")
  },
  onChildChanged(val, oldVal) { },
  onPersonChanged(val, oldVal) { }
 },
 watch: {
  'child': {
   handler: 'onChildChanged',
   immediate: false,
   deep: false
  },
  'person': {
   handler: 'onPersonChanged',
   immediate: true,
   deep: true
  }
 }
})

更多詳細內(nèi)容請關(guān)注 這里 ;

2. 對 PWA 的支持。

當我們選擇啟用 PWA 功能時,在打包生成的代碼時會默認生成 service-worker.js 和 manifest.json 相關(guān)文件。如果你不了解 PWA, 點擊這里查看 ;

快速了解vue-cli 3.0 新特性 

需要注意的是 在 manifest.json 生成的圖標信息,可以在 public/img 目錄下替換。

默認情況 service-worker 采用的是 precache ,可以通過配置 pwa.workboxPluginMode 自定義緩存策略。詳情

配置示例

// Inside vue.config.js
module.exports = {
 // ...其它 vue-cli 插件選項...
 pwa: {
  workboxPluginMode: 'InjectManifest',
  workboxOptions: {
   // swSrc 中 InjectManifest 模式下是必填的。
   swSrc: 'dev/sw.js',
   // ...其它 Workbox 選項...
  },
 },
};

總結(jié):

vue-cli 致力于將 Vue 生態(tài)中的工具基礎(chǔ)標準化。它確保了各種構(gòu)建工具能夠基于智能的默認配置即可平穩(wěn)銜接,這樣你可以專注在編寫你的應(yīng)用上,而不必花好幾天去糾結(jié)配置的問題。與此同時,它也為每個工具提供了調(diào)整配置的靈活性。

網(wǎng)站名稱:快速了解vue-cli3.0新特性
網(wǎng)頁地址:http://aaarwkj.com/article40/iijdeo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供標簽優(yōu)化、品牌網(wǎng)站制作、微信公眾號、建站公司、微信小程序、企業(yè)建站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站優(yōu)化排名
av网址在线免费观看| 久久av少妇亚洲精品| 国产av一区二区三区日韩接吻| 久久人妻一区二区三区免费密臀| 蜜臀av网站在线播放| 亚洲午夜经典一区二区日韩| 亚洲av天堂一区二区香蕉| 亚洲精品国产精品乱码不| 欧美日韩一区二区三区四区在线观看| 日韩少妇人妻一区二区| 邻居少妇扒开腿让我爽了一夜| 亚洲乱码国产乱码精品| 91大片在线观看视频| 中文字幕免费不卡一区| 美女高潮呻吟免费观看久久久 | 久久精品国产普通话对白| 漂亮人妻少妇中文字幕| 国产操大奶头女人自拍av| 日韩人妻中文字幕亚洲| 免费观看久久久激情片| 中文字幕一区二区不卡顿| 日韩三级av黄片在线| 亚洲日本乱码一区二区三| 欧美日韩国产综合在线观看| 亚洲av成人在线资源| 中文字幕制服日韩久久一区| 最近免费欧美一级黄片| 三级视频一区二区三区| 91在线看片国产免费观看| 欧美日韩一级一区二区| av第一福利大全导航| 亚洲乱码中文字幕人妻| 婷婷91麻豆精品国产人妻| 成年人性生活网站视频| 国产又粗又硬又长又爽在线观看 | 国产精品久久久久久久久| 少妇高潮毛片免费看高潮| 欧美艳星一区二区三区四区| 亚洲av午夜福利麻豆av| 亚洲无人区码一码二码三码| 日韩经典三级精品自拍|