问题描述:
由于vue下支持的ES5和ES6语法,所以传统JS文件的引入不能使用原有方式的操作
<script src="js的路径"><</script>
VUE下ES5和ES6下的引入方式如下:
<script>
import { 组件别名 } from '../../lib/myscript.js'
export default {
methods:{
methods1(){ //该JS文件中的方法
。。。。。。。。。。。。
}
}}
</script>
第二种方式引入
新建JS文件示例:
import axios from 'axios'
import { Toast } from 'vant';
function upLoaderImg (uploadUrl,file) {
let chooseImg = [] //选择的图片数组
let params = new FormData()
if(Array.isArray(file)){ //因为该组件单选是对象,多选是数组
chooseImg = file
}else{
chooseImg.push(file)
}
chooseImg.map((item)=>{
params.append('file', item.file)
})
params.append('action', 'upload')
let config = {
headers: { //添加请求头
'Content-Type': 'multipart/form-data'
}
}
return new Promise((resolve, reject) => {
axios.post(uploadUrl, params, config).then(res => {
if (res && res.data.status == 0) {
Toast.loading({
message: '图片上传中...',
forbidClick: true,
loadingType: 'spinner',
onClose: resolve(res.data)
});
} else {
Toast.fail({
message: '图片上传异常',
forbidClick: true,
onClose: reject(res.data)
});
}
}).catch(err => {
Toast.fail({
message: '服务器异常',
forbidClick: true,
onClose: reject(err)
});
});
})
}
export {
upLoaderImg
}
在需要引入文件的地方使用import
1、全部引入
import * as upImgFun from '@/libs/util.upLoaderImg.js';
2、单个函数引入
import upLoaderImg from '@/libs/util.upLoaderImg.js';
函数的使用:
upLoaderImg(this.webapi("upAppImgs@actionImgData"),file)
注意:vue页面内使用函数的时候前面不要加this关键词
版权声明:《 关于VUE项目中引入外部js文件的解决方式 》为漠北星火原创文章,转载请注明出处!
最后编辑:2019-9-7 08:09:13
请登录后发表评论