使用vue前端項目開發(默認前后端分離),vue-cli腳手架run server是,nodejs會啟動一個web site,此web site是基於nodejs實現的,如果后端使用java、golang、c#等實現的,此時如何請求后端的數據並進行項目的測試工作?
深入vue-cli腳手架發現,cli腳手架啟動的web site默然是開啟了代理的功能的,可以通過設置相關的代理信息將請求轉發到對應的后端應用程序。
使用npm run server會默然加載當前工作路徑下的package.json文件夾。同時,還會加載用戶的自定義設置文件vue.config.js文件,在該文件中可以進行相應的參數設置。需要注意的是,package.json中的vuePlugins.resolveFrom會轉移默然的配置文件加載信息。
詳細的信息可以參考官方的文檔中的配置參數(devServer.proxy)信息 參考地址:https://cli.vuejs.org/zh/config/#devserver
//研究源碼一些相關信息
service.content //work space
service.pkgContext //初始默認為workspace
通過package.json中的vuePlugins.resolveFrom可以進行調整
service.pkg //package.json信息 依賴於service.pkgContext
service.plugins =
//cli
id: "built-in:commands/serve
id: "built-in:commands/build
id: "built-in:commands/inspect
id: "built-in:commands/help
id: "built-in:config/base
id: "built-in:config/css
id: "built-in:config/dev
id: "built-in:config/prod
id: "built-in:config/app
//package.json :
devDependencies節點
dependencies節點
vuePlugins.service節點(array)
this.modes = //from plugins defaultModes
this.pluginsToSkip = // args['skip-plugins']
this.projectOptions= resolved
fileconfig=vue.config.js
pkgconfig = package.json.vue
resolved = fileconfig > pkgconfig > args
//serve.js
api : pluginsApi{ id, serviceApp }
options:serviceApp.projectOptions