成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

hexo+css遇到的unexpected token問(wèn)題

haoguo / 2033人閱讀

摘要:?jiǎn)栴}背景使用模擬實(shí)現(xiàn)文檔,頁(yè)面和的語(yǔ)法差異遇到問(wèn)題。文檔中的效果如下分析問(wèn)題報(bào)錯(cuò)信息寫的很明確,,是不被期望的。遇到問(wèn)題時(shí),解決思路可以考慮下轉(zhuǎn)義碼標(biāo)簽。

問(wèn)題背景

使用hexo+css模擬實(shí)現(xiàn)weex文檔,頁(yè)面Weex 和 Vue 2.x 的語(yǔ)法差異遇到問(wèn)題。

問(wèn)題描述

新建頁(yè)面,copy進(jìn)去內(nèi)容,hexo server運(yùn)行,控制臺(tái)報(bào)錯(cuò):

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)
定位問(wèn)題

問(wèn)題定位到if="{{!foo}}"這句文案。文檔中的效果如下:

分析問(wèn)題:

報(bào)錯(cuò)信息寫的很明確,unexpected token: !,!是不被期望的。其實(shí)這是因?yàn)槭褂昧?b>{{...}}導(dǎo)致的,在hexo中雙括號(hào)會(huì)被解析,雙括號(hào)里的內(nèi)容會(huì)被當(dāng)做變量解析。

解決問(wèn)題

以下是幾種可能的解決方案

網(wǎng)上找到方法說(shuō)使用"可以不解析{{,其實(shí)不然,使用"后會(huì)不解析轉(zhuǎn)義后的特俗字符,例如改為

`if="{{!foo}}"`
還是會(huì)解析,會(huì)報(bào)同樣的錯(cuò)誤,所以`包裹是不能解決問(wèn)題的。

還有的是說(shuō)使用"""三個(gè)反引號(hào),三個(gè)"""確實(shí)可以解決解析方面的問(wèn)題,但是不能解決我們這里的問(wèn)題,我們看文檔可以知道,這句if="{{!foo}}"是在表格中的,而"""生成的是代碼塊,所以三個(gè)反引號(hào)是不能最終解決問(wèn)題的。

轉(zhuǎn)義。一般很多類似unexpected token: ***的問(wèn)題,都可以使用轉(zhuǎn)義的方法解決,關(guān)于轉(zhuǎn)義字符,可以看我上一篇文章hexo+css創(chuàng)建自己的blog(語(yǔ)法手冊(cè)),里面最底下有各種特殊字符對(duì)應(yīng)的轉(zhuǎn)義碼。以下是我解決問(wèn)題的三個(gè)過(guò)程:

`if="{{!foo}}"`
這種方式時(shí),`根本不會(huì)把轉(zhuǎn)義過(guò)后的內(nèi)容反轉(zhuǎn)義回去,效果圖如下圖1。

圖1的效果并不是我們期望的,只是我們知道`最終在頁(yè)面展示的效果是包裹在code中的,所以我們可以用如下方式,效果如下圖2。
if="{{!foo}}"

圖2中可以看出,雙引號(hào)變成了中文的,這也不是我們期望的,需要轉(zhuǎn)義一下,改為如下方式,完美解決問(wèn)題,結(jié)果如圖3。
if="{{!foo}}"

圖1:

圖2:

圖3:

總結(jié)

使用hexo創(chuàng)建博客寫文章的時(shí)候,遇到的問(wèn)題幾乎都是特殊字符解析方面的問(wèn)題,所以應(yīng)該盡可能少寫一些特殊字符,如果實(shí)在需要,可以使用轉(zhuǎn)義碼。遇到問(wèn)題時(shí),解決思路可以考慮下轉(zhuǎn)義碼+html標(biāo)簽。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/112561.html

相關(guān)文章

  • 基于 github issues 實(shí)現(xiàn)第三方評(píng)論系統(tǒng)

    摘要:什么是第三方評(píng)論系統(tǒng)博客或系統(tǒng),一般都是有內(nèi)容和評(píng)論兩部分組成。而且垃圾評(píng)論和過(guò)濾非法關(guān)鍵字難度較大,所以在國(guó)內(nèi)外都有第三評(píng)論系統(tǒng)。三評(píng)論系統(tǒng)實(shí)現(xiàn)預(yù)備工作創(chuàng)建。 本文只是介紹如何基于 github issues 實(shí)現(xiàn)第三方評(píng)論系統(tǒng),對(duì)于 Hexo 介紹,本文并不打算詳述,如果有童鞋之前還沒(méi)有了解 Hexo 的,可以先看一下之前文章《靜態(tài)博客框架 Hexo 入門 》,或者直接訪問(wèn) Hex...

    waltr 評(píng)論0 收藏0
  • vue+iview打包報(bào)錯(cuò)Unexpected token: punc (()

    摘要:最近在項(xiàng)目中遇到項(xiàng)目時(shí)報(bào)錯(cuò)具體報(bào)錯(cuò)如下但在安裝依賴之前,不會(huì)出現(xiàn)這個(gè)問(wèn)題。問(wèn)題原因無(wú)法解析的問(wèn)題,所以導(dǎo)致打包失敗。 最近在項(xiàng)目中遇到vue項(xiàng)目build時(shí)報(bào)錯(cuò) ERROR in static/js/vendor.7cc64802b7814edeb429.js from UglifyJs Unexpected token: punc (() [./node_modules/iview/...

    WrBug 評(píng)論0 收藏0
  • parcel 錯(cuò)誤:SyntaxError: Unexpected token function

    摘要:在使用的時(shí)候,很多人遇到了一個(gè)問(wèn)題對(duì)于這個(gè)錯(cuò)誤,很多人似曾相識(shí),以為是配置的問(wèn)題。但是號(hào)稱是零配置,是不需要配置的。如果使用全局安裝,會(huì)發(fā)現(xiàn)這個(gè)是自身的報(bào)錯(cuò)在的文件寫著所以是支持版本的。 在使用 parcel 的時(shí)候,很多人遇到了一個(gè)問(wèn)題: async function bundle(main, command) { ^^^^^^^^ SyntaxError: Unexp...

    vvpvvp 評(píng)論0 收藏0
  • Hexo 博客終極玩法:云端寫作,自動(dòng)部署

    摘要:配置觸發(fā)方式一般會(huì)得到這么個(gè)語(yǔ)雀配置配置一個(gè)倉(cāng)庫(kù)的可以選擇所有更新觸發(fā)或者主動(dòng)觸發(fā),主動(dòng)觸發(fā)的意思即發(fā)布需要勾選一個(gè)選項(xiàng)才會(huì)觸發(fā)。 Hexo + Github + 語(yǔ)雀 + yuque-hexo +travis-ci+severless 打造全自動(dòng)持續(xù)集成個(gè)人博客,云端寫作,自動(dòng)部署,完美體驗(yàn)~ 一、Hexo+Github 的痛點(diǎn) 1.為啥要用hexo+github? 作為一個(gè)程序猿,...

    AlphaWallet 評(píng)論0 收藏0
  • Hexo 博客終極玩法:云端寫作,自動(dòng)部署

    摘要:配置觸發(fā)方式一般會(huì)得到這么個(gè)語(yǔ)雀配置配置一個(gè)倉(cāng)庫(kù)的可以選擇所有更新觸發(fā)或者主動(dòng)觸發(fā),主動(dòng)觸發(fā)的意思即發(fā)布需要勾選一個(gè)選項(xiàng)才會(huì)觸發(fā)。 Hexo + Github + 語(yǔ)雀 + yuque-hexo +travis-ci+severless 打造全自動(dòng)持續(xù)集成個(gè)人博客,云端寫作,自動(dòng)部署,完美體驗(yàn)~ 一、Hexo+Github 的痛點(diǎn) 1.為啥要用hexo+github? 作為一個(gè)程序猿,...

    EsgynChina 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

haoguo

|高級(jí)講師

TA的文章

閱讀更多
最新活動(dòng)
閱讀需要支付1元查看
<