Vue CLI Service是一個vue-cli提供的工具,它提供了一些常用的命令和配置,使得我們可以更加方便地搭建、運行和打包我們的Vue項目。
然而,有一些情況下,Vue CLI Service可能并不適用于我們的項目或者我們需要更多的自定義配置,這時候我們就需要了解一些Vue CLI Service并不支持的特性或者功能。
首先,Vue CLI Service并不支持安裝其他的構(gòu)建工具或者插件。如果我們需要使用一些不被Vue CLI Service支持的構(gòu)建工具或者插件,那么我們需要手動在項目中進行配置和安裝。
// 例如安裝了gulp的構(gòu)建工具,我們需要手動安裝gulp并在項目中配置 npm install gulp --save-dev
其次,Vue CLI Service默認(rèn)的構(gòu)建配置并不適用于所有的項目,特別是一些需要定制化的項目,比如需要打包多個不同入口文件的項目。在這些情況下,我們需要手動配置webpack的構(gòu)建配置文件。
// 如果我們需要打包多個不同入口文件,那么我們需要手動在配置文件中定義多個entry module.exports = { entry: { app: './src/main.js', vendor: './src/vendor.js' } }
此外,Vue CLI Service也不能滿足我們對于構(gòu)建結(jié)果的定制化需求。比如,我們可能需要將構(gòu)建結(jié)果上傳到CDN供全球用戶訪問,此時我們需要手動編寫腳本來實現(xiàn)這一需求。
// 例如將構(gòu)建結(jié)果上傳到七牛CDN const qiniu = require('qiniu') const path = require('path') const glob = require('glob') const fileList = glob.sync(path.join(__dirname, '../dist/**/*')) const mac = new qiniu.auth.digest.Mac(accessKey, secretKey) const options = { scope: bucket, expires: 7200 } const putPolicy = new qiniu.rs.PutPolicy(options) const uploadToken=putPolicy.uploadToken(mac) const config = new qiniu.conf.Config() config.zone = qiniu.zone.Zone_z0 const formUploader = new qiniu.form_up.FormUploader(config) const putExtra = new qiniu.form_up.PutExtra() fileList.forEach(file =>{ const key = file.split('dist/')[1] formUploader.putFile(uploadToken, key, file, putExtra, function(err, body, info) { if(err) { console.log(err) return } console.log('Upload success', key) }) })
總而言之,Vue CLI Service雖然是一個方便實用的構(gòu)建工具,但是在一些特定的場景下,我們需要手動進行配置和編寫腳本來滿足我們項目的需求。