vue组件中引入main.js中的方法报错了,提示找不到该方法,请求大牛们帮我找出问题所在
([Vue warn]: Error in created hook: "TypeError: (0 , _main.xxx) is not a function")
app.vue
<template>
<div id="app">
<Header></Header>
<router-view></router-view>
<Aside></Aside>
<Footer></Footer>
</div>
</template>
<script>
import Header from './components/base/header'
import Footer from './components/base/footer'
import Aside from './components/base/Aside'
import { getData_noheader , setItem } from './main'
export default {
name: 'app',
data() {
return {
typeList:[]
}
},
created:function () {
//this.load()
setItem('k','1')
},
methods:{
load:function () {
var that = this
getData_noheader('Product/GetProTwoTypeList',{
categoryId:0
},function (res) {
that.typeList = res.data
})
}
},
components:{
Header,
Footer,
Aside
}
}
</script>
<style>
</style>
main.js
import Vue from 'vue'
import App from './App.vue'
import ElementUI from 'element-ui';
import { Message , Loading } from 'element-ui';
import router from './router/index';
import axios from 'axios';
import store from './vuex/vuex';
import i18n from './i18n/i18n';
import { SHA1 } from './SHA1';
import 'element-ui/lib/theme-chalk/index.css';
import 'element-ui/lib/theme-chalk/fonts/element-icons.ttf';
import 'element-ui/lib/theme-chalk/fonts/element-icons.woff';
import '../src/assets/main.styl'
const AppId = 'A6906809667840'
const AppKey = 'E6B8626E-131B-0800-CC3A-C0AF2165D48D'
const base_url = 'http://vimall.test.by.48wo.com/' //测试
Vue.config.productionTip = false
Vue.use(ElementUI);
new Vue({
el: '#app',
render: h => h(App),
router,
axios,
i18n,
store
})
function getData(url, params, success,http,error) {
let loadingInstance = Loading.service({
lock: true,
text: '拼命加载中。。。',
spinner: 'el-icon-loading',
background: 'rgba(255, 255, 255, 0.8)'
});
var httptype = http ? http :'get'
var value
if(getItem('token')){
value = {
method: httptype,
url: base_url + url,
params: params,
headers: {
client_token: getItem('token')
},
timeout: 10000
}
}else{
value = {
method: httptype,
url: base_url + url,
params: params
}
}
axios(value).then((response) => {
if (response.data.code == 201) {
setItem('token', '')
router.replace({
path: '/login',
})
}else if(response.data.code == 100){
success(response.data)
} else {
Message({
message:response.data.msg,
type:'error',
})
if(error){
error(response.data)
}
}
loadingInstance.close()
}).catch(function (error) {
loadingInstance.close();
});
}
function getData_noheader(url, params, success,http,error) {
let loadingInstance = Loading.service({
lock: true,
text: '拼命加载中。。。',
spinner: 'el-icon-loading',
background: 'rgba(255, 255, 255, 0.8)'
});
var httptype = http ? http :'get'
var value = {
method: httptype,
url: base_url + url,
params: params
}
axios(value).then((response) => {
if(response.data.code == 100){
success(response.data)
} else {
Message({
message:response.data.msg,
type:'error',
})
if(error){
error(response.data)
}
}
loadingInstance.close();
}).catch(function (error) {
loadingInstance.close();
});
}
function setItem(k, v) {
window.localStorage.setItem(k, v)
}
function getItem(k) {
return window.localStorage.getItem(k) ? window.localStorage.getItem(k) : null
}
function getHeader(){
var now = Date.now();
var AppKey_SHA1 = SHA1(AppId+"UZ"+AppKey+"UZ"+now)+"."+now
return {
"X-APICloud-AppKey":AppKey_SHA1,
"X-APICloud-AppId":AppId
}
}
export { getData,setItem,getItem,getHeader,getData_noheader }
目录结构
找到问题了,是.babelrc文件中的配置问题,把plugins配置项的transform-es2015-modules-commonjs去除就行了,应该是使用了严格模式,但是还是没找到语法错误的地方。