摘要:問題背景使用模擬實現(xiàn)文檔,頁面和的語法差異遇到問題。文檔中的效果如下分析問題報錯信息寫的很明確,,是不被期望的。遇到問題時,解決思路可以考慮下轉(zhuǎn)義碼標(biāo)簽。
問題背景
使用hexo+css模擬實現(xiàn)weex文檔,頁面Weex 和 Vue 2.x 的語法差異遇到問題。
問題描述新建頁面,copy進(jìn)去內(nèi)容,hexo server運行,控制臺報錯:
FATAL Something"s wrong. Maybe you can find the solution here: http://hexo.io/docs/troubleshooting.html Template render error: (unknown path) [Line 17, Column 9] unexpected token: ! at Object.exports.prettifyError (/Users/weilu/Desktop/weilu/code/document/folder/node_modules/nunjucks/src/lib.js:34:15) at Obj.extend.render (/Users/weilu/Desktop/weilu/code/document/folder/node_modules/nunjucks/src/environment.js:469:27) at Obj.extend.renderString (/Users/weilu/Desktop/weilu/code/document/folder/node_modules/nunjucks/src/environment.js:327:21) at /Users/weilu/Desktop/weilu/code/document/folder/node_modules/hexo/lib/extend/tag.js:66:9 at Promise._execute (/Users/weilu/Desktop/weilu/code/document/folder/node_modules/bluebird/js/release/debuggability.js:300:9) at Promise._resolveFromExecutor (/Users/weilu/Desktop/weilu/code/document/folder/node_modules/bluebird/js/release/promise.js:483:18) at new Promise (/Users/weilu/Desktop/weilu/code/document/folder/node_modules/bluebird/js/release/promise.js:79:10) at Tag.render (/Users/weilu/Desktop/weilu/code/document/folder/node_modules/hexo/lib/extend/tag.js:64:10) at Object.tagFilter [as onRenderEnd] (/Users/weilu/Desktop/weilu/code/document/folder/node_modules/hexo/lib/hexo/post.js:266:16) at /Users/weilu/Desktop/weilu/code/document/folder/node_modules/hexo/lib/hexo/render.js:65:19 at tryCatcher (/Users/weilu/Desktop/weilu/code/document/folder/node_modules/bluebird/js/release/util.js:16:23) at Promise._settlePromiseFromHandler (/Users/weilu/Desktop/weilu/code/document/folder/node_modules/bluebird/js/release/promise.js:512:31) at Promise._settlePromise (/Users/weilu/Desktop/weilu/code/document/folder/node_modules/bluebird/js/release/promise.js:569:18) at Promise._settlePromise0 (/Users/weilu/Desktop/weilu/code/document/folder/node_modules/bluebird/js/release/promise.js:614:10) at Promise._settlePromises (/Users/weilu/Desktop/weilu/code/document/folder/node_modules/bluebird/js/release/promise.js:693:18) at Async._drainQueue (/Users/weilu/Desktop/weilu/code/document/folder/node_modules/bluebird/js/release/async.js:133:16) at Async._drainQueues (/Users/weilu/Desktop/weilu/code/document/folder/node_modules/bluebird/js/release/async.js:143:10) at Immediate.Async.drainQueues (/Users/weilu/Desktop/weilu/code/document/folder/node_modules/bluebird/js/release/async.js:17:14) at runCallback (timers.js:574:20) at tryOnImmediate (timers.js:554:5) at processImmediate [as _immediateCallback] (timers.js:533:5)定位問題
問題定位到if="{{!foo}}"這句文案。文檔中的效果如下:
分析問題:報錯信息寫的很明確,unexpected token: !,!是不被期望的。其實這是因為使用了{{...}}導(dǎo)致的,在hexo中雙括號會被解析,雙括號里的內(nèi)容會被當(dāng)做變量解析。
解決問題以下是幾種可能的解決方案
網(wǎng)上找到方法說使用"可以不解析{{,其實不然,使用"后會不解析轉(zhuǎn)義后的特俗字符,例如改為
`if="{{!foo}}"` 還是會解析,會報同樣的錯誤,所以`包裹是不能解決問題的。
還有的是說使用"""三個反引號,三個"""確實可以解決解析方面的問題,但是不能解決我們這里的問題,我們看文檔可以知道,這句if="{{!foo}}"是在表格中的,而"""生成的是代碼塊,所以三個反引號是不能最終解決問題的。
轉(zhuǎn)義。一般很多類似unexpected token: ***的問題,都可以使用轉(zhuǎn)義的方法解決,關(guān)于轉(zhuǎn)義字符,可以看我上一篇文章hexo+css創(chuàng)建自己的blog(語法手冊),里面最底下有各種特殊字符對應(yīng)的轉(zhuǎn)義碼。以下是我解決問題的三個過程:
`if="{{!foo}}"` 這種方式時,`根本不會把轉(zhuǎn)義過后的內(nèi)容反轉(zhuǎn)義回去,效果圖如下圖1。 圖1的效果并不是我們期望的,只是我們知道`最終在頁面展示的效果是包裹在code中的,所以我們可以用如下方式,效果如下圖2。if="{{!foo}}"
圖2中可以看出,雙引號變成了中文的,這也不是我們期望的,需要轉(zhuǎn)義一下,改為如下方式,完美解決問題,結(jié)果如圖3。if="{{!foo}}"
圖1:
圖2:
圖3:
使用hexo創(chuàng)建博客寫文章的時候,遇到的問題幾乎都是特殊字符解析方面的問題,所以應(yīng)該盡可能少寫一些特殊字符,如果實在需要,可以使用轉(zhuǎn)義碼。遇到問題時,解決思路可以考慮下轉(zhuǎn)義碼+html標(biāo)簽。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/112561.html
摘要:什么是第三方評論系統(tǒng)博客或系統(tǒng),一般都是有內(nèi)容和評論兩部分組成。而且垃圾評論和過濾非法關(guān)鍵字難度較大,所以在國內(nèi)外都有第三評論系統(tǒng)。三評論系統(tǒng)實現(xiàn)預(yù)備工作創(chuàng)建。 本文只是介紹如何基于 github issues 實現(xiàn)第三方評論系統(tǒng),對于 Hexo 介紹,本文并不打算詳述,如果有童鞋之前還沒有了解 Hexo 的,可以先看一下之前文章《靜態(tài)博客框架 Hexo 入門 》,或者直接訪問 Hex...
摘要:最近在項目中遇到項目時報錯具體報錯如下但在安裝依賴之前,不會出現(xiàn)這個問題。問題原因無法解析的問題,所以導(dǎo)致打包失敗。 最近在項目中遇到vue項目build時報錯 ERROR in static/js/vendor.7cc64802b7814edeb429.js from UglifyJs Unexpected token: punc (() [./node_modules/iview/...
摘要:在使用的時候,很多人遇到了一個問題對于這個錯誤,很多人似曾相識,以為是配置的問題。但是號稱是零配置,是不需要配置的。如果使用全局安裝,會發(fā)現(xiàn)這個是自身的報錯在的文件寫著所以是支持版本的。 在使用 parcel 的時候,很多人遇到了一個問題: async function bundle(main, command) { ^^^^^^^^ SyntaxError: Unexp...
摘要:配置觸發(fā)方式一般會得到這么個語雀配置配置一個倉庫的可以選擇所有更新觸發(fā)或者主動觸發(fā),主動觸發(fā)的意思即發(fā)布需要勾選一個選項才會觸發(fā)。 Hexo + Github + 語雀 + yuque-hexo +travis-ci+severless 打造全自動持續(xù)集成個人博客,云端寫作,自動部署,完美體驗~ 一、Hexo+Github 的痛點 1.為啥要用hexo+github? 作為一個程序猿,...
摘要:配置觸發(fā)方式一般會得到這么個語雀配置配置一個倉庫的可以選擇所有更新觸發(fā)或者主動觸發(fā),主動觸發(fā)的意思即發(fā)布需要勾選一個選項才會觸發(fā)。 Hexo + Github + 語雀 + yuque-hexo +travis-ci+severless 打造全自動持續(xù)集成個人博客,云端寫作,自動部署,完美體驗~ 一、Hexo+Github 的痛點 1.為啥要用hexo+github? 作為一個程序猿,...
閱讀 2378·2021-11-25 09:43
閱讀 2989·2019-08-30 15:52
閱讀 1954·2019-08-30 15:44
閱讀 1039·2019-08-30 10:58
閱讀 831·2019-08-29 18:43
閱讀 3273·2019-08-29 18:36
閱讀 2384·2019-08-29 17:02
閱讀 1514·2019-08-29 17:01