npm发布了一个自己做的插件,两个问题有点疑惑请高手帮助?

1.我写的插件,为什么引入只能在main.js引入,才能用,我想同时实现在某个vue页面引入也能用。

import EnergyFlowChart from 'energy-flow-chart';

import 'energy-flow-chart/lib/energy-flow-chart.css';

Vue.use(EnergyFlowChart);

2.我做的这个组件为什么引入的时候还得单独引入样式,我想要个不用单独引入样式的,是不是我哪配置的有问题。

import 'energy-flow-chart/lib/energy-flow-chart.css';


回答:

  1. 因为你default暴露出来的是intsall函数,如果要在组件内引入应该是引入组件
  2. 如果要在组件内引入样式的话,打包出来的组件文件应该有引入样式的代码,而不是只打包出样式文件让使用者手动引入


回答:

  1. Vue.use 的话,只需要在入口注册一次就可以。如果你要在具体组件引用具体组件,可以在组件里引用然后局部注册。
  2. 据我所知不可以,除非你不提取 css。因为打包后,css 已经从 js 里提取出来,所以直接引用不到。


回答:

1、其实有两种方法,一种就是你现在用的,一次性全部放在一起将组件install了,所以在mainjs那里直接就可以使用use。另外一种就单独一个组件一个文件夹,但是全部组件就不要放在一起install,需要使用直接引用即可,这个可以参考elementui的做法
2、需要手动引入样式

以上是 npm发布了一个自己做的插件,两个问题有点疑惑请高手帮助? 的全部内容, 来源链接: utcz.com/p/933563.html

回到顶部