亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

在vue里如何使用pug模板引擎

 更新時間:2023年10月10日 10:32:41   作者:依舊丶俊  
這篇文章主要介紹了在vue里如何使用pug模板引擎,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

vue使用pug模板引擎

pug,原名jade,是流行的HTML模板引擎,它是HAML在JavaScript上的實現(xiàn),最大的特色是使用縮進排列替代成對標簽。

在vue中使用的話 需要事先安裝依賴

#安裝支持pug依賴
npm install pug pug-loader pug-filters -D
#安裝支持jade依賴
npm install jade jade-loader -D

后在你的vue項目文件中的webpack.base.conf.js中,在module的rules節(jié)點下添加配置:

{
 test: /\.jade$/,
 loader: "jade"
},
{
 test: /\.pug$/,
 loader: 'pug'
}

然后在template標簽中 lang=“pug” 即可啟用

當然 怎么用就得去官網(wǎng)查看了 pug官網(wǎng)

pug模板引擎基本用法

Pug是jade的新版,jade由于商標已被注冊,所以更名為pug。

縮進標注:Pug模板和大多數(shù)模板不同,它有自己的語法特點,采用縮進的方式進行標注,使用這種方式,使得代碼更加清晰。

無尾標簽:這種語法不需要類似 /html 這樣的尾標簽。

文本書寫:在標簽后 +空格+內(nèi)容 的方式進行書寫文本,例如下面代碼中 h1后跟的 website即為標題名文本。

屬性添加:在標簽后用()括號對屬性進行編寫。

   //views文件夾下index.pug文件
   html
       head
           title Home
           link(rel="stylesheet" href="/lib/bootstrap/css/bootstrap.min.css" rel="external nofollow" )
           script(src="/lib/bootstrap/dist/js/bootstrap.min.js")
           style
           	include myStyle.css
       body
           div(class='container')
               h1 website 
               div(class='row')
                   div(class='col') column1
                   div(class='col') column2
                   div(class='col') column3
           script 
           	include myScript.js

在這里插入圖片描述

引入方式

自編寫文件:使用include +文件名對文件進行引入。

第三方包文件:在服務(wù)器上通過nodejs結(jié)合express方式,使用app.use引入中間件。(此處例子導(dǎo)入bootstrap,需提前安裝—— 在命令行通過npm install bootstrap進行安裝)

     //server.js文件
     const express = require('express')
     const app = express()
     const expressPort = 3000
     app.listen(3000, () => {
         console.log(`App listening on port ${expressPort}`);
     })
     app.set('view engine','pug');
     //通過app.set方式讓pug進入node項目中
     //app.set('views','./views'),pug默認地址會在一個叫views的文件夾里
     app.use('/lib/bootstrap',express.static('node_modules/bootstrap/dist'))
     //use方法作用:即引入一個所謂的中間件(將工作目錄中動態(tài)文件變成靜態(tài)文件提供給服務(wù)器)
     //引用提前安裝好的bootstrap(npm init bootstrap)
     //'/lib/bootstrap'是一個虛擬地址,并不存在這個文件夾,但是可以通過這個路徑對bootstrap文件進行訪問。
     app.get('/',(req,res)=>{
         res.render('index');
     })

傳參方式:具體為在后端代碼中與pug模板引擎的傳參方式。

在server.js后端代碼中準備好傳參數(shù)據(jù):

   app.get('/',(req,res)=>{
       const options={
           name:'WangJunjie',
           age:'21'
       }
       res.render('index',options);	//options為傳入?yún)?shù),直接在統(tǒng)一作用域中進行調(diào)用
   })

在index.pug文件中進行使用(通過 #{ } 的方式):

       body
           div(class='container')
               h1 #{name}'s website //通過#{參數(shù)內(nèi)部屬性名}方式
               div(class='row')
                   div(class='col') column1
                   div(class='col') column2
                   div(class='col') column3
           script 

在這里插入圖片描述

這樣就拿到了后端中的name數(shù)據(jù),將name數(shù)據(jù)渲染到.pug文件上了。

同時,可以通過 script.的方式,將后端代碼中的變量賦值給前端代碼:

 body
           div(class='container')
               h1 website 
               div(class='row')
                   div(class='col') column1
                   div(class='col') column2
                   div(class='col') column3
           script.
           	const name = '#{name}';
           	const age = '#{age}';
           script 
           	include myScript.js

特殊字符

  • “|” ,|后的字符會被原樣輸出。
  • “.” ,.表示下一級的所有字符都會被原樣輸出,不再被識別。是|的升級版,實現(xiàn)批量處理。

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Vue項目中npm?install卡住問題解決的詳細指南

    Vue項目中npm?install卡住問題解決的詳細指南

    這篇文章主要介紹了Vue項目中npm?install卡住問題解決的相關(guān)資料,文中包括更換npm鏡像源、清除npm緩存、刪除.npmrc文件和升級Node.js版本,需要的朋友可以參考下
    2024-12-12
  • vue2+elementui上傳照片方式(el-upload超簡單)

    vue2+elementui上傳照片方式(el-upload超簡單)

    這篇文章主要介紹了vue2+elementui上傳照片方式(el-upload超簡單),具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-03-03
  • VUE實現(xiàn)強制渲染,強制更新

    VUE實現(xiàn)強制渲染,強制更新

    今天小編就為大家分享一篇VUE實現(xiàn)強制渲染,強制更新,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-10-10
  • 詳解vue-amap引入高德JS API的原理

    詳解vue-amap引入高德JS API的原理

    vue-amap是對高德地圖JS API進行封裝的、適用于vue項目的地圖組件庫,本文主要介紹了vue-amap引入高德JS API的原理,具有一定的參考價值,感興趣的可以了解一下
    2022-06-06
  • 詳解如何提高 webpack 構(gòu)建 Vue 項目的速度

    詳解如何提高 webpack 構(gòu)建 Vue 項目的速度

    這篇文章主要介紹了詳解如何提高 webpack 構(gòu)建 Vue 項目的速度,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-07-07
  • vue3項目配置按需自動引入自定義組件unplugin-vue-components方式

    vue3項目配置按需自動引入自定義組件unplugin-vue-components方式

    這篇文章主要介紹了vue3項目配置按需自動引入自定義組件unplugin-vue-components方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-03-03
  • vue之數(shù)據(jù)交互實例代碼

    vue之數(shù)據(jù)交互實例代碼

    本篇文章主要介紹了vue之數(shù)據(jù)交互實例代碼,vue中也存在像ajax和jsonp的數(shù)據(jù)交互,實現(xiàn)向服務(wù)器獲取數(shù)據(jù),有興趣的可以了解一下
    2017-06-06
  • 基于vue的video播放器的實現(xiàn)示例

    基于vue的video播放器的實現(xiàn)示例

    這篇文章主要介紹了基于vue的video播放器的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-02-02
  • Vue數(shù)據(jù)變了但頁面沒有變的幾種情況及解決方法

    Vue數(shù)據(jù)變了但頁面沒有變的幾種情況及解決方法

    如果,你發(fā)現(xiàn)自己需要在Vue中做一次強制更新,99.99%的情況,是你在某個地方做錯了事,本文給大家就介紹了Vue數(shù)據(jù)變了,但頁面沒有變的幾種情況及解決方法,并通過代碼示例介紹的非常詳細,需要的朋友可以參考下
    2024-08-08
  • vue-seamless-scroll 實現(xiàn)簡單自動無縫滾動且添加對應(yīng)點擊事件的簡單整理

    vue-seamless-scroll 實現(xiàn)簡單自動無縫滾動且添加對應(yīng)點擊事件的簡單整理

    vue-seamless-scroll是一個基于Vue.js的簡單無縫滾動組件, 基于requestAnimationFrame實現(xiàn),配置多滿足多樣需求,目前支持上下左右無縫滾動,單步滾動,及支持水平方向的手動切換功能,本節(jié)介紹,vue添加 vue-seamless-scroll實現(xiàn)自動無縫滾動的效果,并對應(yīng)添加點擊事件
    2023-01-01

最新評論