小編給大家分享一下vue組件怎么被其他項(xiàng)目引用,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
你所需要的網(wǎng)站建設(shè)服務(wù),我們均能行業(yè)靠前的水平為你提供.標(biāo)準(zhǔn)是產(chǎn)品質(zhì)量的保證,主要從事成都網(wǎng)站建設(shè)、成都網(wǎng)站制作、企業(yè)網(wǎng)站建設(shè)、移動(dòng)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計(jì)、成都品牌網(wǎng)站建設(shè)、網(wǎng)頁制作、做網(wǎng)站、建網(wǎng)站。創(chuàng)新互聯(lián)建站擁有實(shí)力堅(jiān)強(qiáng)的技術(shù)研發(fā)團(tuán)隊(duì)及素養(yǎng)的視覺設(shè)計(jì)專才。自己寫的vue組件怎么才能讓其他人引用呢,或者是共用組件如何讓其他項(xiàng)目引用。本文就粗細(xì)的介紹下,如有疑問歡迎共同討論。在這里你能了解下如下知識(shí)點(diǎn):
1. 如何發(fā)布一個(gè)包到npmjs倉庫上
2.如何引用一個(gè)npm包,尤其是本地引用
3.vue組件的兩種引用方案
一、發(fā)布一個(gè)包到npm的步驟
在npmjs.org上注冊(cè)一個(gè)賬號(hào)
然后進(jìn)入命令提示窗口輸入:
npm adduser: 進(jìn)入添加用戶
Username your name: 設(shè)置用戶名
Password your password: 設(shè)置密碼
Email youremail:設(shè)置郵箱
登錄信息都保存在用戶目錄下的.npmrc文件中(以token的方式保存)
npm publish:發(fā)布包
執(zhí)行npm publish這前,請(qǐng)切換到需要發(fā)包的項(xiàng)目根目錄下。
npm unpublish --force:移除一個(gè)發(fā)布包(也可以移除指定版本的包)
注意:
發(fā)包前必須要在npmjs上注冊(cè)一個(gè)賬號(hào)
每次發(fā)布的時(shí)候都需要重新更新版本
也可以用npm logout登出用戶,用npm login登錄用戶
二、build方式引用vue組件
示例使用的是本地安裝一個(gè)npm包。因?yàn)榘寻l(fā)布到npmjs,然后再npm到項(xiàng)目中太過麻煩(由于我們要做來回調(diào)整和測試)。實(shí)現(xiàn)vue組件三步驟:
1. 配置組件(被引用的組件),可以省略
配置package.json,主要是增加main節(jié)點(diǎn)
"main": "index.js"
主是main的這個(gè)節(jié)點(diǎn),如果不配置,我們?cè)谄渌?xiàng)目中就不用import XX from '包名'來引用了,只能以包名作為起點(diǎn)來指定相對(duì)的路徑。
導(dǎo)出可供外部訪問的組件
import VueTree from './components/Hello' module.exports = { VueTree }
主要是導(dǎo)出可以讓外部訪問的組件,這里沒有直接導(dǎo)出main.js,是因?yàn)槲覀兯枰氖且恍┳咏M件,而根組件(因?yàn)樗嬖谥苯訏燧d到dom上的操作)。
編寫打包成為一個(gè)組件的腳本
var webpack = require('webpack') var path = require('path') var vueLoaderConfig = require('./vue-loader.conf') function resolve (dir) { return path.join(__dirname, '..', dir) } var opt = { entry: { 'vue-tree-common': './src/comp.js' }, output: { path: resolve('dist'), filename: '[name].js', library: 'vue-tree-common', libraryTarget: 'commonjs2' //注意這里,打包的標(biāo)準(zhǔn) }, resolve: { extensions: ['.js', '.vue'], modules: [ resolve('src'), resolve('node_modules') ] }, module: { rules: [ { test: /\.vue$/, loader: 'vue-loader', options: vueLoaderConfig }, { test: /\.js$/, loader: 'babel-loader', include: [resolve('src'), resolve('node_modules')] } ] } } var compiler = webpack(opt) compiler.run(function(err, state) { console.log(err) })
此種打包方式會(huì)將此組件的所有引用打包成一個(gè)文件,還是存在不合理的現(xiàn)象。
生成包 通過上述三個(gè)步驟的配置,只需要運(yùn)行打包成組件的腳本就可以生成發(fā)布包了。
2、本地如何引用npm包(安裝發(fā)布好的包)
用命令模式進(jìn)入開發(fā)項(xiàng)目文件夾,用命令安裝包。npm install --save 本地路徑 即可。
npm install --save D:\MyProject\vue2-tree
3、根據(jù)包名直接定位組件
此處我用的是import {VueTree} from 'vue-tree/dist/vue-tree-common這種方式引入的包,因?yàn)樵谠接玫膒ackage.json中main節(jié)點(diǎn)配置的index.js。
三、更為直接的引用vue組件
我們還需要npm本地安裝或者再現(xiàn)安裝;
按照如下圖所示引用:
以上是“vue組件怎么被其他項(xiàng)目引用”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司行業(yè)資訊頻道!
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)建站www.cdcxhl.com,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。