在软件包上安装特定组件(初学者)

时间:2018-08-14 02:58:12

标签: javascript npm vue.js vuejs2 npm-install

我正在使用element UI,并且正在像这样安装它

npm i element-ui -S

但是,我不希望整个软件包而是一个特定的组件,即DatePicker,我该如何使用npm安装它。我尝试查看文档,但无处可寻。

2 个答案:

答案 0 :(得分:1)

使用npm(甚至是Yarn),您只能安装整个软件包及其所有依赖项。安装软件包的特定部分不是一件容易的事;可以找到更多文档here。再一次,甚至element-ui的文档都清楚地表明,只能通过以下方式完成安装程序包

npm i element-ui -S

或者,如果您使用的是毛线,则在将卷装添加到yarn install后将package.json插入。

现在,如果您想知道是否可以仅将所需的组件包含在Vue应用程序的输出包中,那么答案是肯定的。您需要确保仅导入组件的完整路径(而不是整个包):

import ElementUI from 'element-ui'; // will import the whole library

OR

import { DatePicker } from 'element-ui/lib/Datepicker' // will import only the Datepicker

您需要确保从中导入组件的路径与node_modules目录中已安装的软件包位置的路径匹配。另外,您还需要确保正确设置了Webpack配置,以仅捆绑要导入的JS文件(默认情况下应进行处理)。

答案 1 :(得分:1)

我认为无法仅从ui库安装一个组件。
因为源代码中每个组件之间都有很大的依赖性。
但是,如果您担心将整个库导入到您的项目中会很麻烦。

也许最好的方法是按需导入库,如下所示:

import Vue from 'vue'
import { DatePicker } from 'element-ui'

Vue.use(DatePicker)

webpackbabel-plugin-component结合使用时。
您的捆绑软件输出将仅包含库中实际上有用的代码。
您可以在Element QuickStart处查看详细文档。(注:按需部分)

或者您可以放弃使用ElementUI。
然后从此网站Awesome Vue

中为Vue选择另一个DatePicker组件。