我的需求是:
使用 Vue 開發(fā) 插件,然后生成 JS,以便在其它網(wǎng)頁中調(diào)用。
問題是:
1)使用Vue 嵌入到普通html或者說普通JS當(dāng)中,不能實現(xiàn)很好的封裝。即將開發(fā)的文件很難以單文件形式保存,然后隨便拿來調(diào)用
2)以Vue-Cli搭建Vue項目,使用 npm run build 打包出來的 JS 無法在其它網(wǎng)頁中調(diào)用,只能用它自己構(gòu)建的index.html來使用。(這樣的話開發(fā)的東西擴展性太差)
【不知道我的那部分出現(xiàn)了錯誤】
3)Vue-cli搭建項目,使用 Vue.component install 方法注冊全局組件,這種組件在 Vue-cli搭建的項目里面可以使用,要怎么配置,才能使得 build 的 JS 使得其他網(wǎng)頁 能夠以 <script>標(biāo)簽引入,并且使用 Vue.use()就可以使用
(我知道純粹用 Vue+webpack 構(gòu)建代碼比較爽快,但是 我的項目是一個 基于laravel的項目,并且頁面中使用了后臺模板的一些功能,當(dāng)然,肯定是多頁面應(yīng)用了,所以采用單一Vue來開發(fā)有些行不通。但是又看到Vue的強大魅力,想用它來重寫 網(wǎng)站的 markdown 編輯器,目前的問題就是不知道怎么把這個編輯器封裝好。 )
我理解你的意思是:在一個頁面中引入一個包含vue組件的js, 然后直接就可以通過調(diào)用的方法引入這個組件并使用了?例如這樣
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<!-- 引入樣式 -->
<link rel="stylesheet" >
</head>
<body>
<div id="app">
<!-- **調(diào)用你寫的組件** -->
<el-button @click="visible = true">按鈕</el-button>
<el-dialog :visible.sync="visible" title="Hello world">
<p>歡迎使用 Element</p>
</el-dialog>
</div>
</body>
<!-- 先引入 Vue -->
<script src="https://unpkg.com/vue/dist/vue.js"></script>
<!-- **引入你寫的組件庫** -->
<script src="https://unpkg.com/element-ui/lib/index.js"></script>
<script>
new Vue({
el: '#app',
data: function() {
return { visible: false }
}
})
</script>
</html>
建議看下element-ui的package.json文件中打包成js是怎么實現(xiàn)的,github地址:https://github.com/ElemeFE/el...
額,問題解決了。分享一下。
首先,我先糾正一下這個問題的題目:
原:Vue 單組件打包導(dǎo)出到為普通頁面可以調(diào)用的 JS?
現(xiàn)改為:Vue 插件開發(fā)?(按照這個思路,很快就能夠找到答案)
是的,原本的提問本來就有些問題,因為只知道需求而對Vue術(shù)語不太了解,導(dǎo)致方向錯誤,從而在查找答案的過程中很難搞清楚。
(在 @tomc 給的建議中,我先是查看了 element-ui的webpack.config.js .由于對于webpack一知半解所以沒怎么搞清楚。后來迫于無奈,只好去看vue的官方文檔??吹焦俜轿臋n中有提到插件這一說法,索性看了下,才明白,我的這種需求應(yīng)該是屬于插件范疇,所以在網(wǎng)上找到 vue 插件開發(fā)的文章看了下,問題得到j(luò)ie'jue)
OK,說正事兒。參考文章:http://www.imooc.com/article/... (10分鐘教你快速開發(fā)一個vue插件并發(fā)布npm)
首先,得先搞清楚Vue 所開發(fā)的插件的幾種引用方式:
ES6
import vuePayKeyboard from 'vue-pay-keyboard'
// 通過require 導(dǎo)入
var vuePayKeyboard = require('vuePayKeyboard')
// 通過use掛載
Vue.use(vuePayKeyboard)
// 或者直接導(dǎo)入js文件
<script src="./dist/vue-pay-keyboard.js"></script>
大概總結(jié)下就是
而我要做的,就是通過模塊化開發(fā)的流程,開發(fā)出插件來,以滿足在普通HTML頁面調(diào)用的需求
具體實踐過程呢,在參考文章中已經(jīng)說的很詳細(xì)。這里總結(jié)下比較重要的幾點
ok,再具體的還是就看參考文章里,再放下地址
參考文章:http://www.imooc.com/article/... (10分鐘教你快速開發(fā)一個vue插件并發(fā)布npm)
北大青鳥APTECH成立于1999年。依托北京大學(xué)優(yōu)質(zhì)雄厚的教育資源和背景,秉承“教育改變生活”的發(fā)展理念,致力于培養(yǎng)中國IT技能型緊缺人才,是大數(shù)據(jù)專業(yè)的國家
北大青鳥中博軟件學(xué)院創(chuàng)立于2003年,作為華東區(qū)著名互聯(lián)網(wǎng)學(xué)院和江蘇省首批服務(wù)外包人才培訓(xùn)基地,中博成功培育了近30000名軟件工程師走向高薪崗位,合作企業(yè)超4
中公教育集團創(chuàng)建于1999年,經(jīng)過二十年潛心發(fā)展,已由一家北大畢業(yè)生自主創(chuàng)業(yè)的信息技術(shù)與教育服務(wù)機構(gòu),發(fā)展為教育服務(wù)業(yè)的綜合性企業(yè)集團,成為集合面授教學(xué)培訓(xùn)、網(wǎng)
達內(nèi)教育集團成立于2002年,是一家由留學(xué)海歸創(chuàng)辦的高端職業(yè)教育培訓(xùn)機構(gòu),是中國一站式人才培養(yǎng)平臺、一站式人才輸送平臺。2014年4月3日在美國成功上市,融資1
曾工作于聯(lián)想擔(dān)任系統(tǒng)開發(fā)工程師,曾在博彥科技股份有限公司擔(dān)任項目經(jīng)理從事移動互聯(lián)網(wǎng)管理及研發(fā)工作,曾創(chuàng)辦藍懿科技有限責(zé)任公司從事總經(jīng)理職務(wù)負(fù)責(zé)iOS教學(xué)及管理工作。
浪潮集團項目經(jīng)理。精通Java與.NET 技術(shù), 熟練的跨平臺面向?qū)ο箝_發(fā)經(jīng)驗,技術(shù)功底深厚。 授課風(fēng)格 授課風(fēng)格清新自然、條理清晰、主次分明、重點難點突出、引人入勝。
精通HTML5和CSS3;Javascript及主流js庫,具有快速界面開發(fā)的能力,對瀏覽器兼容性、前端性能優(yōu)化等有深入理解。精通網(wǎng)頁制作和網(wǎng)頁游戲開發(fā)。
具有10 年的Java 企業(yè)應(yīng)用開發(fā)經(jīng)驗。曾經(jīng)歷任德國Software AG 技術(shù)顧問,美國Dachieve 系統(tǒng)架構(gòu)師,美國AngelEngineers Inc. 系統(tǒng)架構(gòu)師。