1.jsondecodeԴ?源码?
2.#gStore-weekly | gstore源码解析(一):基于boost的gstore http服务源码解析
3.vue-template-compilerï¼
4.Linux下cJSON安装及使用
jsondecodeԴ??
function decode(text){
var div = document.createElement("div");
div.innerHTML = text;
text = div.innerText || div.textContent;
div = null;
return text;
}
调用一下decode
#gStore-weekly | gstore源码解析(一):基于boost的gstore pilerï¼
vueæä¹è§£å³
ä½ å¥½ï¼
æ¥éåå ï¼é常åºç°äºä¸äºä¾èµåºçæ´æ°æè å®è£ æ°çä¾èµåºä¹å(å¯ä»¥è®¤ä¸ºnpmupdateå·²ç»æ为ä¸ç§ä¹ æ¯)ï¼å¯¼è´äºvueåvue-template-compilerççæ¬ä¸ä¸è´ã
解å³æ¹æ¡ï¼ç»ä¸vueåvue-template-compilerççæ¬
1"vue":"2.3.4",
2"vue-template-compiler":"2.3.4",
ï¼æ³¨ï¼å¦ä¸æ示çæ¬å·åä¸ºæ ·ä¾ï¼å ·ä½å®ç°è¯·å°ä¼ä¼´ä»¬æ ¹æ®èªå·±ççæ¬å·å¯¹åºï¼
ç¶åæ§è¡ï¼npmupdateå°±å¯ä»¥äºã
éå ï¼
è¥ä¸è¿°æ¹æ³æªè§£å³é®é¢ï¼åå¯è½æ¯å 为åä¾èµåºä¹é´äº§çäºå²çªï¼è¿éæ们ä¹ææ´æ´åç解å³æ¹æ³ã
é¦å æ¥ç项ç®æ ¹ç®å½ä¸æ¯å¦çæè¿package-lock.jsonçæ件ï¼è¥æï¼å ä¹ã
ç¶åå é¤æ´ä¸ªnode_modulesç®å½ï¼éæ°é ç½®package.json(å½ç¶ï¼è¦è®°å¾ç»ä¸vueåvue-template-compilerççæ¬)
é 置好ä¹åéæ°æ§è¡ï¼npminstallï¼
OKï¼é®é¢è§£å³ã
element饿äºä¹çvueæ¡æ¶ï¼è¿è¡æ¥é已解å³ï¼Vue2.1.5å°_héå½å为_cï¼èElementç®ååççæ¬é½æ¯ç¨ä»¥åçcompilerç¼è¯çï¼å¯¼è´æ°çruntimeæ æ³è¿è¡Elementãç®åç解å³æ¹æ¡æ¯éå®Vueççæ¬ä¸º2.1.4
éå®vueç¸å ³çæ¬
#éæ°å®è£ ä¸ä¸çæ¬
"vue-template-compiler":"2.1.4"
"vue-loader":".0.0"
"vue":"2.1.4"
å ·ä½å½ä»¤å¦ä¸ï¼
npmremove#å¸è½½æ个çæ¬
npmremovevue
npmremovevue-template-compiler
npmremovevue-loader
npminstallvue@2.1.4#å®è£ æå®çæ¬
npminstallvue-template-compiler@2.1.4
npminstallvue-loader@.0.0
-æä¹è®©vueæå çæ¶åç¦ç¨angularç±äºæå å®æåï¼åéæ æ³ä½¿ç¨
æå°è¯è¿æ ·åï¼ä»¥åvue-cli3çåæ³ï¼é½æ æ³åå°ç¦ç¨ä¸¥æ ¼æ¨¡å¼
image.png
package.json
"devDependencies":{
"@vue/cli-plugin-babel":"~4.5.0",
"@vue/cli-plugin-eslint":"~4.5.0",
"@vue/cli-plugin-router":"~4.5.0",
"@vue/cli-plugin-vuex":"~4.5.0",
"@vue/cli-service":"~4.5.0",
"babel-eslint":"^.1.0",
"babel-plugin-transform-remove-console":"^6.9.4",
"copy-webpack-plugin":"^4.0.1",
"electron":"^9.0.0",
"electron-devtools-installer":"^3.1.0",
"eslint":"^6.7.2",
"eslint-plugin-vue":"^6.2.2",
"sass":"^1..5",
"sass-loader":"^8.0.2",
"svg-sprite-loader":"^6.0.",
"vue-cli-plugin-electron-builder":"~2.0.0",
"vue-template-compiler":"^2.6.",
"webpack-bundle-analyzer":"^3.9.0"
},
"eslintConfig":{
"globals":{
"__static":true
},
"root":true,
"env":{
"node":true
},
"extends":[
"plugin:vue/essential",
"eslint:recommended",
"plugin:vue/recommended"
],
"parserOptions":{
"parser":"babel-eslint"
},
"rules":{ }
}
å¯ä»¥ä½¿ç¨replace-in-fileå ¨å±æ¿æ¢æ"usestrict"å符串
ä¸¥æ ¼æ¨¡å¼ä¸éä¸¥æ ¼æ¨¡å¼
æå¨IEæµè§å¨ä¸,使ç¨strict模å¼.åç°,ä¸¥æ ¼æ¨¡å¼ä¸,ä¸å 许ä¸ä¸ªå±æ§å¤å¤å®ä¹çé误æ示,è¿ä¸ªæä¹è§£å³?
JavaScriptä¸¥æ ¼æ¨¡å¼
JavaScriptçä¸¥æ ¼æ¨¡å¼è¯¥æä¹ç解ï¼ä»å¤©çäºes6ï¼å讲å°ä¸¥æ ¼æ¨¡å¼ä½æä¸ç´ä¸ç解ï¼ä¸¥æ ¼æ¨¡å¼æ¯å¹²å¥ç(=_=)
vueä¸å¦ä½ç¦ç¨ES6ä¸¥æ ¼æ¨¡å¼ã
vue项ç®ä¸å¼ç¨å¤é¨çjsæ件ä¹åï¼æ¥éå¦ä¸ï¼è¯·é®æä¹è§£å³ï¼
nuxtæå å°ç¬¬ä¸æ¹å å离
å¦é¢ï¼å¨nuxt.config.jsä¸é ç½®äºvendoråï¼æå ååºç°äºapp.chunkhash.jsï¼common.chunkhash.js,manifest.chunkhash.jsä½æ¯ææ³å°é¡¹ç®ç¨å°ç第ä¸æ¹åºåç¬æå æä¸ä¸ªæ件ï¼å¦ä½¿ç¨äºvue,axios,vuex,element-uiï¼ææææå åæ¯vue.js,axios.js,vuex.js,element-ui.jsãå°è¯ä½¿ç¨äºCommonsChunkPlugin没ææå
pyinstaller第ä¸æ¹å æå é®é¢
pyinstalleræå æ¶æ¥é:raiseJSONDecodeError("Expectingvalue",s,err.value)fromNonejson.decoder.JSONDecodeError:Expectingvalue:line1column1(char0)
3k
webpackå¦ä½æå 第ä¸æ¹åºçèµæº?
æå¨åä¸ä¸ªæ®éçä¼ ç»é¡¹ç®ï¼ç±äºä½¿ç¨äºes并ä¸ä¸äºé¡µé¢ä¸çå°ç»ä»¶ä½¿ç¨äºreactï¼æå 项ç®ä¸ºäºçäºå¿å°±ä½¿ç¨äºwebpackãåæ¥åç°jqueryçä¸äºæ件ä¸ä½¿ç¨äºéæèµæº(å¦jquery.jBox,ztreeççè¿äºæ件é½æèªå·±çå¾çåcss)ï¼è¿äºèµæºè¯¥å¦ä½å¤çå¢ï¼
javascriptä¸¥æ ¼æ¨¡å¼æ¥é
jsä¸¥æ ¼æ¨¡å¼ä½¿ç¨è´¹ä¸¥æ ¼æ¨¡å¼ç代ç æ¥é'caller','callee',and'arguments'propertiesmaynotbeaccessedonstrictmodefunctionsortheargumentsobjectsforcallstothems
3åç2.6ké 读?已解å³
Webpackå¦ä½æå 第ä¸æ¹çuiæ¡æ¶ï¼
æè¿å¨çwebpackï¼äºè§£äºåºæ¬åçãå®è·µä¸ä¹å¨åç¹ä¸è¥¿ãæ³é®ä¸ï¼å¦ænpmåºä¸æ²¡æçjsåºï¼éè¾¹æå¾çï¼æcssï¼æèªå·±çç®å½ç»æï¼è¯¥å¦ä½å¼ç¨è¿ç±»åºå°èªå·±ç项ç®ä¸å¢ï¼
2.8k
èªé¡¶åä¸å¦Reactæºç
ä»ç念å°æ¶æå°å®ç°å°ä»£ç ï¼éå½»ç解
å端æ§è½ä¼å设计é®
å端æ§è½ä¼å,é¢è¯çå¿ é®é¢ç®
vueè¿è¡æ¥éepf-fast@1.0.4devçæ¬ä¸ä¸è´ãvueçæ¬åvue-template-compilerçæ¬ä¸ä¸è´å°±ä¼åºç°è¿è¡æ¥éepf-fast@1.0.4devã解å³æ¹æ³ï¼
1ãå°node_modulesæ件夹å å é¤ã
2ãå°package.jsonæ件çVueçæ¬å·åvue-template-compilerçæ¬å·æ¹ä¸ºä¸è´ï¼2.6.7ï¼ï¼éé«ççæ¬ï¼éæ°è¿è¡npmrundevå³å¯ã
Linux下cJSON安装及使用
Linux下cJSON的安装与使用详解
JSON,全称JavaScript Object Notation,源码是源码一种轻量级的数据交换格式,以其易读性、源码简洁性而广受欢迎。源码维棠源码其数据结构由键值对组成,源码源码改图键被双引号包围,源码键值之间用冒号分隔,源码支持两种主要类型:对象和数组。源码 对象用花括号{ }标识,源码如{ "key1": "value1",源码 "key2": "value2"},键是源码对象的属性,值则是源码源码66对应的值。数组则用中括号[]表示,源码如["value1",源码 "value2", "value3"]。cJSON在C语言中的应用
cJSON是一个C语言编写的库,专为处理JSON数据格式提供解析、地牢源码创建等功能。安装步骤
首先,从cJSON官网下载源码文件。库函数详解
创建:用于生成JSON对象或数组。263源码
解析:将JSON字符串转化为C语言结构。
打印:将C语言结构转化为JSON字符串。
释放:释放内存,终止对象或数组的使用。
添加:在对象中添加新的键值对。
获取:从对象中获取特定键对应的值。
编程示例
在实践中,我们可以通过以下两个文件来体验cJSON的运用:json_decode.c:演示如何使用cJSON的解析功能。
json_encode.c:展示如何通过cJSON创建JSON对象或字符串。
编译这两个示例时,请确保添加链接库-lcjson和-lm,否则编译可能失败。