【问题标题】:Vue-CLI Webpack how do you import vue-shopify-products library?Vue-CLI Webpack 如何导入 vue-shopify-products 库?
【发布时间】:2018-10-29 08:06:50
【问题描述】:

documentation 是这样说的:

<script type="text/javascript" src="assets/js/vue-shopify-products.js"></script>

然后在你初始化 vue 之前,你这样做:

 Vue.use(ShopifyProducts);

如果你使用vue-cli webpack template?,你会怎么做

我的 main.js 文件如下所示

import Vue from 'vue'
import App from './App'
import router from './router'
import store from './store'
import * as d3 from 'd3'
import * as shopifyProducts from 'vue-shopify-products'

Vue.config.productionTip = false

Vue.use(shopifyProducts)

/* eslint-disable no-new */
new Vue({
  el: '#app',
  router,
  store,
  components: { App },
  template: '<App/>',

  created: function () {
    d3.csv('/static/data/csv-files/bicycles.csv', (data) => {
      let products = this.$formatProducts(data)
      console.log(products)
    })
  }
})

这不起作用,因为我收到错误“Uncaught (in promise) TypeError: _this.$formatProducts is not a function”。包含 Vue-Shopify-Products 和引用 $formatProducts 函数的正确方法是什么?

【问题讨论】:

  • vue-shopify-products 包不可导入,因为它不导出任何内容。事实上,它只使用const 设置了一个局部变量(当它可能意味着使用var 时),因此该脚本实际上没有任何用处。您可能应该提交错误报告。

标签: vue.js vue-cli


【解决方案1】:

因为它是作为依赖安装的npm包,所以你应该这样导入,

import defaultExport from "module-name";

所以这应该可以工作:

import ShopifyProducts from "vue-shopify-products";
Vue.use(ShopifyProducts);

之后就可以去掉模块的脚本引用了。

编辑 1:

我认为这不会起作用,因为您尝试用作 Vue 插件的 module 不遵循 Vue documentation 上指定的约定。

【讨论】:

  • 谢谢你,你是对的,我不得不分叉项目并修改它以满足 Vue 的插件标准。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-05-10
  • 1970-01-01
  • 2018-07-26
  • 2018-01-26
  • 1970-01-01
  • 2018-08-12
  • 2022-11-21
相关资源
最近更新 更多