Vue Cli 3は、必要に応じてコンポーネントを導入できるコンポーネントライブラリラックを構築する
10613 ワード
Ant-design、Elementのフレームワークには、コンポーネントをオンデマンドで導入する機能があります.どのコンポーネントを使用する必要があるか、どのコンポーネントを導入することで、不要なコンポーネントは私たちのプロジェクトにパッケージされません.私の下の手順に従って、皆さんも必要に応じて導入されたコンポーネントライブラリを構築できると信じています.
Vueプロジェクトの作成
デフォルト設定でインストールOK?
babel-plugin-componentのインストール
構成.babelrc
プロジェクトのルートディレクトリの下に
コンポーネントを格納するフォルダを作成
コンポーネントを格納するフォルダを構成したばかりである以上、次はこのようなフォルダを作成することに違いありません.私が配置したフォルダ名は
上記の操作が完了すると、私たちのプロジェクトディレクトリは基本的に構築され、以下のようになります.
書き込みコンポーネント
やっとコンポーネントを書く時になりました.
2番目のコンポーネントコードは出さないで、コピーして、cssスタイルをあげればいいです.
ちょっと注意して、
package.jsonの構成の変更または追加
一番後ろの
パスは、私たちがパッケージした
パスは、コンポーネントを格納する
このプロジェクトがプライベートプロジェクトではないことを設定してから、npm上でパブリッシュできます.
次は完全な
コードをパッケージ化
コンソールで
パブリッシュnpm
名前が占有されているので、プレゼンテーションは私が最近書いたプロジェクトでプレゼンテーションしました.
ライブラリのインストール
このライブラリは
これにより、独自のUIライブラリを使用できます.
私のこのプロジェクトの住所と照らし合わせて参考にすることができます.
github.com/didadi599/v…
本人公示番号❤
Vueプロジェクトの作成
vue create ui-demo
デフォルト設定でインストールOK?
babel-plugin-componentのインストール
npm i babel-plugin-component -D
babel-plugin-component
は、コンポーネントのオンデマンドロードを実現するために使用されるElement UI
プラグインである.私たちはそれを私たちのコンポーネントライブラリに使用して、車輪を再構築する必要はありません.?構成.babelrc
プロジェクトのルートディレクトリの下に
babel
のファイルを作成し、構成は次のコードを参照して変更できます.{
"plugins": [
[
"component",
{
// , package.json name
"libraryName": "ui-demo",
// , , lib
"libDir": "components",
}
]
]
}
コンポーネントを格納するフォルダを作成
コンポーネントを格納するフォルダを構成したばかりである以上、次はこのようなフォルダを作成することに違いありません.私が配置したフォルダ名は
.babelrc
なので、私たちのフォルダ名はcomponents
です.上記の操作が完了すると、私たちのプロジェクトディレクトリは基本的に構築され、以下のようになります.
書き込みコンポーネント
やっとコンポーネントを書く時になりました.
components
フォルダの下にcomponents
フォルダを新設して、私たちの最初のコンポーネントを保存します.Component1
フォルダには、Component1
のファイルとComponent1.vue
のファイルがあります.ディレクトリは次のとおりです.index.js
コード:
component1
export default {
name: 'Component1'
}
Component1 -> Component1.vue
コード:import Component1 from './Component1.vue';
Component1.install = function (Vue) {
Vue.component(Component1.name, Component1);
}
export default Component1;
Component1 -> index.js
の主な機能は、プラグインの形式でグローバルコンポーネントを登録することです.分からない仲間は猫の虎を描いて、微調整すればいいです.知りたいことはこのリンクを見てみましょう.2番目のコンポーネントコードは出さないで、コピーして、cssスタイルをあげればいいです.
index.js
フォルダルートディレクトリの下に、すべてのコンポーネントを統合するためのcomponents
が作成されます.index.js
コード:import Compontent1 from './Component1/index'
import Compontent2 from './Component2/index'
const components = [
Compontent1,
Compontent2,
]
function install (Vue) {
components.map(component => {
Vue.component(component.name, component)
})
}
export default {
install,
Compontent1,
Compontent2,
}
ちょっと注意して、
components -> index.js
も一緒に導き出す必要がありますが、注意しないと書かれてしまうかもしれません.package.jsonの構成の変更または追加
install
にコマンドを追加します."lib": "vue-cli-service build --target lib --name index --dest package components/index.js"
一番後ろの
script
は、コンポーネントフォルダのルートディレクトリを格納しているcomponents/index.js
ファイルです.あなたの状況に応じて変更してください.このコマンドが実行されると、index.js
のフォルダがパッケージ化されます.package
ホワイトリストを追加し、npmにアップロードするファイルをパッケージします."files": [
"components",
"package"
]
files
は私たちがコンポーネントを保存するフォルダで、components
はpackage
がパッケージ化を命令して生成したフォルダで、私たちはこの2つのフォルダをリリースすればOKです.lib
を追加し、スタイルパスを設定します."style": "package/index.css"
パスは、私たちがパッケージした
style
のpackage
ファイルです.index.css
を追加し、エントリを設定します."main": "components/index.js"
パスは、コンポーネントを格納する
main
フォルダの下にあるcomponents
ファイルです.index.js
をprivate
に設定します."private": false
このプロジェクトがプライベートプロジェクトではないことを設定してから、npm上でパブリッシュできます.
次は完全な
false
ファイル構成です.{
"name": "ui-demo",
"version": "0.1.0",
"private": false,
"main": "components/index.js",
"style": "package/index.css",
"files": [
"components",
"package"
],
"scripts": {
"serve": "vue-cli-service serve",
"build": "vue-cli-service build",
"lint": "vue-cli-service lint",
"lib": "vue-cli-service build --target lib --name index --dest package components/index.js"
},
"dependencies": {
"core-js": "^2.6.5",
"vue": "^2.6.10"
},
"devDependencies": {
"@vue/cli-plugin-babel": "^3.7.0",
"@vue/cli-plugin-eslint": "^3.7.0",
"@vue/cli-service": "^3.7.0",
"babel-eslint": "^10.0.1",
"babel-plugin-component": "^1.1.1",
"eslint": "^5.16.0",
"eslint-plugin-vue": "^5.0.0",
"vue-template-compiler": "^2.5.21"
},
"eslintConfig": {
"root": true,
"env": {
"node": true
},
"extends": [
"plugin:vue/essential",
"eslint:recommended"
],
"rules": {},
"parserOptions": {
"parser": "babel-eslint"
}
},
"postcss": {
"plugins": {
"autoprefixer": {}
}
},
"browserslist": [
"> 1%",
"last 2 versions"
]
}
コードをパッケージ化
コンソールで
package.json
を実行してファイルをパッケージングし、パッケージングが完了するとnpm run lib
フォルダが1つ増えます.ファイルディレクトリは次のようになります.パブリッシュnpm
# , npm
npm login
# npm
npm publish
名前が占有されているので、プレゼンテーションは私が最近書いたプロジェクトでプレゼンテーションしました.
ライブラリのインストール
npm i vue95-ui
このライブラリは
package
ファイルに導入されます.import Vue from 'vue'
import App from './App.vue'
//
// import vue95 from 'vue95-ui'
// Vue.use(vue95);
//
import { Button95, Bar95 } from 'vue95-ui'
Vue.use(Button95);
Vue.use(Bar95);
Vue.config.productionTip = false
new Vue({
render: h => h(App),
}).$mount('#app')
これにより、独自のUIライブラリを使用できます.
私のこのプロジェクトの住所と照らし合わせて参考にすることができます.
github.com/didadi599/v…
本人公示番号❤