nodejs 프런트엔드 템플릿 엔진 사용 방법
이번에는 nodejs 프론트엔드 템플릿 엔진 swig 사용법을 보여드리고, nodejs 프론트엔드 템플릿 엔진 swig 사용 시 주의사항은 무엇인지 살펴보겠습니다.
jade에 비해 저는 여전히 swig 프론트엔드 템플릿 엔진을 선호합니다. jade의 구문이 훨씬 더 간결하고 효율적이지만, 저에게 가장 큰 문제는 html처럼 보이지 않는다는 것입니다. . .
그래서 swig를 사용하기로 결정했습니다. 페이지 구조가 친숙해 보이고 사용하기가 훨씬 쉽습니다.
많은 친구들도 둘의 장점과 단점으로 고민하고 있습니다. 이는 사람마다 필요에 따라 다를 수 있습니다.
둘의 비교입니다.
http://vschart.com/compare/ swig-template-engine/vs/jade -template-engin
프론트엔드 템플릿 엔진에 대해 함께 배워볼까요
swig에 대한 간략한 소개swig는 JS 템플릿 엔진으로 다음과 같은 기능을 가지고 있습니다. 기능:
- 대부분의 주류 브라우저를 지원합니다.
- 표현 호환성이 좋습니다.
- 객체 지향 템플릿 상속.
- 템플릿의 출력에 필터와 변환을 적용합니다.
- 루진에 따라 페이지가 렌더링될 수 있습니다.
- 페이지 재사용을 지원합니다.
- 동적 페이지를 지원합니다.
- 확장 가능하고 사용자 정의가 가능합니다.
1. swig 설치npm install swig --save
2. Express 프레임워크와 통합app.js
var express = require('express'); var swig = require('swig'); var path = require('path') var app = express(); var port = process.env.PORT || 4000 //设置swig页面不缓存 swig.setDefaults({ cache: false }) app.set('view cache', false); app.set('views','./views/pages/'); app.set('view engine','html'); app.engine('html', swig.renderFile); app.listen(port); console.log('server is started at http://localhost:'+port); //index page app.get('/',function(req, res){ res.render('index',{ title:'首页 ', content: 'hello swig' }) })
index.html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>{{ title }}</title> </head> <body> {{ content }} </body> </html>
테스트 실행
node app.js
브라우저에 입력하세요: http://localhost:4000 실행 효과는 다음과 같습니다
Browser running.png
3. 기본 사용법
1. 변수{{ name }}
{{ student.name }}
Swig은 확장 및 블록을 사용하여 템플릿 상속을 구현합니다. layout.html
먼저 템플릿을 정의합니다
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>{% block title %}{% endblock %}</title> {% block head %}{% endblock %} </head> <body> {% block content %}{% endblock %} </body> </html>
이 템플릿에서 우리는 세 개의 블록을 정의했습니다. 하위 템플릿은 이 세 개의 블록을 상속할 수 있습니다
그런 다음 이 템플릿을 상속하기 위해 index.html을 작성합니다
{% extends './layout.html' %} {% block title %} index {% endblock %} {% block content %} <p> <h1>hello swig</h1> <p> {% endblock %}
복사하지 않았습니다. {% block head here %}{% endblock %} 이 블록
은layout.html 템플릿 페이지에서 많은 블록을 정의할 수 있고 하위 페이지를 선택적으로 구현할 수 있음을 의미합니다.
4.include template현재 위치에 대한 템플릿을 포함합니다. 이 템플릿은 현재 컨텍스트를 사용합니다
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>{% block title %}{% endblock %}</title> {% include "./includes/head.html" %} {% block head %}{% endblock %} </head> <body> {% include "./includes/header.html" %} {% block content %}{% endblock %} </body> </html>
{ % if name === '郭靖' % }
hello 靖哥哥
{ % endif % }
{ % if name === '郭靖' % }
hello 靖哥哥
{ % elseif name === '黄蓉' % }
hello 蓉妹妹
{ % else % }
hello 欧阳峰
{ % endif % }
첫 번째 밤나무:
// arr = [1, 2, 3] { % for key, val in arr % } <p>{ { key } } -- { { val } }</p> { % endfor % }
For 루프 내장 변수:
- loop.index: 현재 루프의 인덱스(1부터 시작)
- loop.index0: 루프의 인덱스 current loop (0에서 시작)
- loop.revindex0: 끝에서 시작하는 현재 루프의 인덱스(시작) from 0)
- loop.key: 반복이 객체인 경우 현재 루프의 키입니다. 그렇지 않으면 loop.index
- loop.first와 동일합니다. 첫 번째 값인 경우 true를 반환합니다.
- loop.last: 마지막 값이면 true를 반환합니다.
- loop.cycle: 지정된 매개변수를 마침표로 사용하는 하나의 도우미 함수
- 사용법:
// arr = [1, 2, 3] { % for key, val in arr % } <p>{{ loop.index }} -- {{ key }} -- {{ val }}</p> { % endfor % }
add(value):使变量与value相加,可以转换为数值字符串会自动转换为数值。 addslashes:用 \ 转义字符串 capitalize:大写首字母 date(format[, tzOffset]):转换日期为指定格式 format:格式 tzOffset:时区 default(value):默认值(如果变量为undefined,null,false) escape([type]):转义字符 默认: &, <, >, ", ' js: &, <, >, ", ', =, -, ; first:返回数组第一个值 join(glue):同[].join json_encode([indent]):类似JSON.stringify, indent为缩进空格数 last:返回数组最后一个值 length:返回变量的length,如果是object,返回key的数量 lower:同''.toLowerCase() raw:指定输入不会被转义 replace(search, replace[, flags]):同''.replace reverse:翻转数组 striptags:去除html/xml标签 title:大写首字母 uniq:数组去重 upper:同''.toUpperCase url_encode:同encodeURIComponent url_decode:同decodeURIComponemt 使用方法: 例如我们要格式化一个时间,使用方法和linux上的管道命令非常像 大写首字母 9.set命令 用来设置一个变量,在当前上下文中复用 相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章! 推荐阅读:
{{ birthday|date('Y-m-d') }}
{{ name|title }}
{% set foo = [0, 1, 2, 3, 4, 5] %}
{% for num in foo %}
<li>{{ num }}</li>
{% endfor %}
위 내용은 nodejs 프런트엔드 템플릿 엔진 사용 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











Node.js는 고성능, 확장성, 크로스 플랫폼 지원, 풍부한 생태계, 개발 용이성 등의 기능을 제공하므로 백엔드 프레임워크로 사용할 수 있습니다.

MySQL 데이터베이스에 연결하려면 다음 단계를 따라야 합니다. mysql2 드라이버를 설치합니다. mysql2.createConnection()을 사용하여 호스트 주소, 포트, 사용자 이름, 비밀번호 및 데이터베이스 이름이 포함된 연결 개체를 만듭니다. 쿼리를 수행하려면 Connection.query()를 사용하세요. 마지막으로 Connection.end()를 사용하여 연결을 종료합니다.

Node.js에는 다음과 같은 전역 변수가 존재합니다. 전역 개체: 전역 핵심 모듈: 프로세스, 콘솔, 필수 런타임 환경 변수: __dirname, __filename, __line, __column 상수: undefine, null, NaN, Infinity, -Infinity

Node.js 설치 디렉터리에는 npm과 npm.cmd라는 두 가지 npm 관련 파일이 있습니다. 차이점은 다음과 같습니다. 확장자가 다릅니다. npm은 실행 파일이고 npm.cmd는 명령 창 바로 가기입니다. Windows 사용자: npm.cmd는 명령 프롬프트에서 사용할 수 있으며, npm은 명령줄에서만 실행할 수 있습니다. 호환성: npm.cmd는 Windows 시스템에만 해당되며 npm은 크로스 플랫폼에서 사용할 수 있습니다. 사용 권장사항: Windows 사용자는 npm.cmd를 사용하고, 기타 운영 체제는 npm을 사용합니다.

Pinetwork 노드에 대한 자세한 설명 및 설치 안내서이 기사에서는 Pinetwork Ecosystem을 자세히 소개합니다. Pi 노드, Pinetwork 생태계의 주요 역할을 수행하고 설치 및 구성을위한 전체 단계를 제공합니다. Pinetwork 블록 체인 테스트 네트워크가 출시 된 후, PI 노드는 다가오는 주요 네트워크 릴리스를 준비하여 테스트에 적극적으로 참여하는 많은 개척자들의 중요한 부분이되었습니다. 아직 Pinetwork를 모른다면 Picoin이 무엇인지 참조하십시오. 리스팅 가격은 얼마입니까? PI 사용, 광업 및 보안 분석. Pinetwork 란 무엇입니까? Pinetwork 프로젝트는 2019 년에 시작되었으며 독점적 인 Cryptocurrency Pi Coin을 소유하고 있습니다. 이 프로젝트는 모든 사람이 참여할 수있는 사람을 만드는 것을 목표로합니다.

Node.js와 Java의 주요 차이점은 디자인과 기능입니다. 이벤트 중심 대 스레드 중심: Node.js는 이벤트 중심이고 Java는 스레드 중심입니다. 단일 스레드 대 다중 스레드: Node.js는 단일 스레드 이벤트 루프를 사용하고 Java는 다중 스레드 아키텍처를 사용합니다. 런타임 환경: Node.js는 V8 JavaScript 엔진에서 실행되는 반면 Java는 JVM에서 실행됩니다. 구문: Node.js는 JavaScript 구문을 사용하고 Java는 Java 구문을 사용합니다. 목적: Node.js는 I/O 집약적인 작업에 적합한 반면, Java는 대규모 엔터프라이즈 애플리케이션에 적합합니다.

예, Node.js는 백엔드 개발 언어입니다. 서버 측 비즈니스 로직 처리, 데이터베이스 연결 관리, API 제공 등 백엔드 개발에 사용됩니다.

Node.js와 Java는 각각 웹 개발에 장단점이 있으며 선택은 프로젝트 요구 사항에 따라 다릅니다. Node.js는 실시간 애플리케이션, 신속한 개발 및 마이크로서비스 아키텍처에 탁월한 반면, Java는 엔터프라이즈급 지원, 성능 및 보안에 탁월합니다.
