【问题标题】:Vue cli 3 conflicts with apolloVue cli 3 与 apollo 冲突
【发布时间】:2019-02-26 11:37:12
【问题描述】:

我正在学习本教程,但偶然发现了一些问题。当我导入 Apollo 时,Apollo boost 控制台充满了错误

import ApolloClient from "apollo-boost"; //import apollo-boost
import VueApollo from "vue-apollo"; // import vue-apollo

Vue.use(VueApollo); // use apollo

// Setup ApolloClient
const defaultClient = new ApolloClient({
    uri: "http://localhost:4000/graphql"
});

const apolloProvider = new VueApollo({ defaultClient }); // implementing provider

Vue.config.productionTip = false;

new Vue({ // vue constructor
    provide: apolloProvider.provide(), // provide
    router,
    store,
    render: h => h(App)
}).$mount("#app");

控制台出错"error in ../node_modules/graphql/index.mjs"

我找到了这个解决方案https://github.com/vuejs/vue-cli/issues/1637,但我不知道如何实现它。他们将一些代码粘贴到vue.config.js,但是我有babel.config.js,它们是一样的吗?

【问题讨论】:

    标签: javascript vue.js vuejs2 apollo


    【解决方案1】:

    如您提到的 GitHub 链接中所示,解决方案是通过 vue.config.js 配置 Webpack,这是 Vue CLI 项目中的 可选 文件。默认情况下会省略该文件,因此如果该文件不存在,则必须创建该文件。

    来自 Vue CLI docs

    vue.config.js 是一个可选配置文件,如果它存在于您的项目根目录中(package.json 旁边),它将由 @vue/cli-service 自动加载。您也可以使用package.json 中的vue 字段,但请注意,在这种情况下,您只能使用与 JSON 兼容的值。

    【讨论】:

      【解决方案2】:

      试试

      new Vue({
        router,
        store,
        apolloProvider,
        render: h => h(App)
      }).$mount('#app')
      
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-06-29
        • 2020-09-26
        • 2015-11-30
        • 1970-01-01
        • 2022-10-23
        • 2020-02-08
        • 2019-07-12
        • 2020-12-06
        相关资源
        最近更新 更多