vue修改配置文件(vue.config.js) 有時候會出現沒有重啓,得手動重啓javascript
module.exports = { //baseUrl 從 Vue CLI 3.3 起已棄用,請使用publicPath baseUrl: './', // outputDir: 在npm run build 或 yarn build 時 ,生成文件的目錄名稱(要和baseUrl的生產環境路徑一致) outputDir: "mycli3", //用於放置生成的靜態資源 (js、css、img、fonts) 的;(項目打包以後,靜態資源會放在這個文件夾下) assetsDir: 'static', productionSourceMap: false, devServer: { //啓動本地端口 port: 3666, //開啓多個代理 proxy: { //url路徑中包含 /admin 會跳轉到target '/admin': { target: 'http://localhost:8666', //開啓代理:在本地會建立一個虛擬服務端,而後發送請求的數據,並同時接收請求的數據,這樣服務端和服務端進行數據的交互就不會有跨域問題 changeOrigin: true, //將url中/admin 部分替換爲空 pathRewrite: { '^/admin':'' } } } } }
前端代碼, el-upload action參數必須是String(能夠接受一個函數,返回String),vue.config.js proxy配置了/admin會走代理跳target。url寫錯了,會一直跳轉失敗,有些經常使用的單詞,data,methods,components ,寫錯了會出現調用失敗,全部都檢查了,還沒解決能夠看看這裏css
action實現不了 ,那就重寫action,用http-request,這裏須要注意html
1,上傳須要 建立const fileForm = new FormData(); 對象,再存值前端
2,調用後端接口,須要設置 headers: { "content-type": "multipart/form-data" }vue
<el-form-item label="圖標:"> <el-upload //可接受的文件格式 accept="image/*" //是否展現文件列表 :show-file-list="false" class="avatar-uploader" //必填,文件上傳路徑,String,可接受函數,裏面返回url action="/admin/util/updload" //重寫action,本身實現上傳邏輯,action部分能夠爲空 :http-request="handleUpload" //上傳成功回調 :on-success="handleUploadSuccess"> <img v-if="form.image" :src="form.image" class="avatar" /> <i v-else class="el-icon-plus avatar-uploader-icon"></i> </el-upload> </el-form-item> <script> //省略代碼………… //上傳函數,http-request 能夠接受一個參數 handleUpload(param){ console.info("開始上傳", param.file) const fileForm = new FormData(); fileForm.append("file", param.file); actions.uploadImage(fileForm).then(res =>{ this.$set(this.form, "image", res.data.data) }) }, ………… //封裝的函數部分(這裏是一個獨立的文件) uploadImage(params) { // 根據後臺需求的數據格式肯定headers return axios.post('/admin/util/upload', params, { headers: { "content-type": "multipart/form-data" } }) }, </script> <style lang="less" scoped> //圖片上傳樣式 .avatar-uploader .el-upload { border: 1px dashed #d9d9d9; border-radius: 6px; cursor: pointer; position: relative; overflow: hidden; width: 178px; } .avatar-uploader /deep/ .el-upload { width: 178px; } .avatar-uploader /deep/ .el-upload:hover { border-color: #409EFF; } .avatar-uploader-icon { font-size: 28px; color: #8c939d; width: 178px; height: 178px; line-height: 178px; text-align: center; } .avatar { width: 178px; height: 178px; display: block; } </style>
vue.config.js 配置文件 詳解 https://www.cnblogs.com/yanl55555/p/11792583.htmljava