在使用vue开发过程中,基本每个组件都需要import引入api接口,用webpack配置ProvidePlugin后,将不用再引入api,直接使用就可以。
配置方法:
1、 在webpack.dev.conf.js和webpack.prod.conf.js中添加
plugins: [
...
new webpack.ProvidePlugin({
'api': 'api'
})
...
]
2、 在webpack.base.conf.js中添加
resolve: {
extensions: ['.js', '.vue', '.json'],
alias: {
'vue$': 'vue/dist/vue.esm.js',
'@': resolve('src'),
'api': resolve('src/api/index.js') //我将所有接口api都放在了src/api/index.js文件里
}
},
在组件中使用:
methods: {
api.getList(this.params).then(res => {
console.log(res)
}).error(err => {
console.log(err)
})
}
这样就可以直接使用了,不用每次都单独引入,但是这个时候会有一个问题:
eslint在代码检查的时候会报 “api is not defined”
解决方法请查阅:忽略Eslint不需要检查的代码

在Vue.js开发中,通过在webpack的dev和prod配置文件中添加ProvidePlugin,可以避免每个组件都导入API。配置后,组件可以直接使用全局API,但可能导致 ESLint 报“api is not defined”的错误。解决此问题的方法是调整ESLint配置以忽略特定代码。
1070

被折叠的 条评论
为什么被折叠?



