因項目工作需要,目前在研究前端的一些知識。主要想實現一個類似於webstorm,可以實現對本地文件進行增刪改查等操作的IDE。下面通過幾個專題,循序漸進,對某一些部分進行總結,希望能對你有幫助。(網上資料太多太雜,適合自己的還是需要自己去理解~~~)
- vue-cli腳手架的簡單介紹、安裝等
- element-ui框架簡單介紹
- vue-cli element-ui融合
- 富文本編輯器在前端頁面的使用—AceEditor
- vue-cli簡單集成codemirror編輯器
- 基於electron-vue二次開發
0. 前端筆記
-
下面附上對於初學者友好的html、css、js教程鏈接:
- HTML(菜鳥教程):http://www.runoob.com/html/html-tutorial.html
- CSS(菜鳥教程):http://www.runoob.com/css/css-tutorial.html
- JS(菜鳥教程):http://www.runoob.com/js/js-tutorial.html
-
注釋:
- html的注釋代碼格式: <!--你的代碼塊-->,可以單行注釋,也可以注釋多行;
- css的注釋代碼格式: /* 你的css */,多數情況下也是用於說明,
- js的注釋格式: // 你的js代碼; 可以用於說明你當前代碼的用途啊、作用啊等等~;js還能注釋多行代碼,格式跟css注釋一樣:/* 你的js */;
1. vue-cli腳手架的簡單介紹、安裝等
-
安裝:
- 前提是需要保證有node的環境
- npm install webpack -g (安裝webpack打包工具,webpack -v)
- npm install -g vue-cli (安裝vue-cli腳手架,vue -v)
- vue init webpack my-project (創建了my-project目錄結構)
- cd my-project
- 安裝項目依賴 npm install
- 啟動項目 npm run dev
-
官方教程:
https://cn.vuejs.org/v2/guide/
2. element-ui框架簡單介紹
-
安裝element-ui
npm i element-ui --save
-
開始使用
參照element-ui官方文檔:http://element.eleme.io/#/zh-CN/component/installation
3. vue-cli element-ui融合
-
使用:
1. 在入口main.js文件中引入element-ui模塊(前提是需要先安裝好)
1 …… 2 import ElementUI from 'element-ui'; 3 import 'element-ui/lib/theme-chalk/index.css'; 4 5 Vue.use(ElementUI); 6 ……
2. 在xxx.vue文件中<template></template>部分,需要使用的地方引入element-ui組件;<script></script>;<style></style>:
1 <template> 2 <div class="body"> 3 <div> 4 <el-button @click="showDirDialog" plain>打開</el-button> 5 </div> 6 <el-container> 7 <!--頂部欄--> 8 <el-header height="50px">header</el-header> 9 <el-container> 10 <!--左側側邊欄--> 11 <el-aside width="300px"> 12 <el-tree ref="dirTree" :data="dirTree" :props="defaultProps" :load="loadSubFile" lazy 13 @node-click="treeNodeClick"></el-tree> 14 </el-aside> 15 <!--主--> 16 <el-main> 17 <!--編輯器--> 18 <codemirror :value="code" :options="cmOptions"></codemirror> 19 </el-main> 20 </el-container> 21 </el-container> 22 </div> 23 </template>
4. 富文本編輯器在前端頁面的使用—AceEditor
-
什么是富文本編輯器?
-
AceEditor介紹與使用:
-
簡單介紹:
ACE 是一個開源的、獨立的、基於瀏覽器的代碼編輯器,可以嵌入到任何web頁面或JavaScript應用程序中。ACE支持超過60種語言語法高亮,具有良好的代碼提示功能和大量的主題,並能夠處理代碼多達400萬行的大型文檔。ACE開發團隊稱,ACE在性能和功能上可以媲美本地代碼編輯器(如Sublime Text、TextMate和Vim等)。
- 使用:
下載后,直接在項目中引用,即可(div的高度必須設置,否則不會顯示出來)。示例代碼如下(main.html文件):
1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>test_demo</title> 6 <script src="../src-noconflict/ace.js" type="text/javascript" charset="utf-8"></script> 7 <script src="../src-noconflict/ext-language_tools.js" type="text/javascript"></script> 8 </head> 9 10 <body> 11 <div style="height: 300px" id="editorDiv"></div> 12 <script> 13 var editor = ace.edit("editorDiv"); 14 editor.$blockScrolling = Infinity; 15 //字體大小 16 editor.setFontSize(16); 17 //設置編輯器樣式,對應theme-*.js文件 18 editor.session.setMode("ace/mode/c_cpp"); 19 //設置代碼語言,對應mode-*.js文件 20 editor.session.setMode("ace/mode/javascript"); 21 //設置打印線是否顯示 22 editor.setShowPrintMargin(false); 23 //設置是否只讀 24 editor.setReadOnly(false); 25 //與ctrl+f功能一致,搜索 26 editor.execCommand('find'); 27 //設置代碼折疊 28 editor.getSession().setUseWrapMode(true); 29 //設置高亮 30 //editor.setHighlightActiveLine(false); 31 32 //以下部分是設置輸入代碼提示的,如果不需要可以不用引用ext-language_tools.js 33 ace.require("ace/ext/language_tools"); 34 editor.setOptions({ 35 enableBasicAutocompletion: true, 36 enableSnippets: true, 37 enableLiveAutocompletion: true 38 }); 39 editor.setTheme("ace/theme/chrome"); 40 </script> 41 </body> 42 </html>
5. vue-cli簡單集成codemirror編輯器
-
使用:
1. 在入口main.js文件中引入codemirror模塊(前提是需要先安裝好)
1 …… 2 import VueCodemirror from 'vue-codemirror'; 3 import 'codemirror/lib/codemirror.css'; 4 5 Vue.use(VueCodemirror); 6 ……
2. 在xxx.vue文件中<template></template>部分,需要使用的地方引入codemirror:
1 …… 2 <!--編輯器--> 3 <codemirror :value="code" :options="cmOptions"></codemirror> 4 ……
3. 在xxx.vue文件中<script></script>部分,需要使用的地方引入js邏輯代碼:
1 import {codemirror} from 'vue-codemirror'; 2 import "codemirror/mode/python/python.js"; 3 import 'codemirror/addon/fold/foldcode.js'; 4 import 'codemirror/addon/fold/foldgutter.js'; 5 import 'codemirror/addon/fold/brace-fold.js'; 6 import 'codemirror/addon/fold/xml-fold.js'; 7 import 'codemirror/addon/fold/indent-fold.js'; 8 import 'codemirror/addon/fold/markdown-fold.js'; 9 import 'codemirror/addon/fold/comment-fold.js'; 10 11 export default { 12 components: { 13 codemirror 14 }, 15 data() { 16 return { 17 code: '', 18 cmOptions: { 19 tabSize: 4, 20 mode: 'text/javascript', 21 lineNumbers: true 22 } 23 } 24 }, 25 mounted() { 26 }, 27 methods: { 28 ……, 29 displayFileData(content) { 30 this.code = content; 31 } 32 } 33 }
4. 在xxx.vue文件中<style></style>部分,需要使用的地方引入樣式代碼(略)
6. 基於electron-vue二次開發
-
使用腳手架樣板構建項目
- vue init simulatedgreg/electron-vue my-project
- cd my-project
- npm install
- npm run dev
(如果遇到run dev或者run build的時候出錯,可能是因為國內的網絡下載“electron-v1.8.3-win32-x64.zip”出錯。參照我的上篇文章:https://www.cnblogs.com/sunshine-blog/p/9915222.html)
-
使用 —>官方文檔:
https://electron.org.cn/vue/index.html
https://simulatedgreg.gitbooks.io/electron-vue/content/cn/
-
實際例子:
可參照網上大神的項目:https://www.cnblogs.com/GoodHelper/p/8527523.html
