㈠ nodejs+express+ejs生成項目
一、說一下
首先保證node環境已經安裝完畢,npm能正常使用,安裝可自行網路,比較簡單,在此不做贅述。
node是否安裝成功
express是否安裝成功
二、直接開碼
安裝
注釋:
express:安裝express框架
express-generator:安裝express生成器,可快速生成一個應用的骨架
裂李-g:全局安答洞裝
注釋:
-e:簡寫,全稱為 --view=ejs ,安裝ejs模板引擎
myapp:項目名稱,自定義即可
生成如下目錄結構
注釋:
bin:存放啟動腳本文件
bin/www:啟動腳本文件,可修改埠號,等功能。
public:存放肆舉遲圖片,css,js等靜態文件
routes:存放路由模塊文件
views:存放視圖文件,使用的ejs模板引擎
app.js:入口文件,重要的配置文件
package.json:工程信息和安裝依賴文件
跟著提示執行下列語句
注釋:
cd myapp:進入myapp文件夾,文件名需修改成自己的項目文件名
npm install:安裝所有依賴模塊,常用的非指定性npm安裝命令
npm start:運行項目
(bin/www)
㈡ 2020年Web前端自學之路指南
今天小編要跟大家分享的文章是關於2020年Web前端自學之路指南。許多人可能跟著網路上的各種教程就入了前端這行的門,但大多數都只是機械的學習著資料中的內容。俗話說,選擇要比努力重要。那麼學習開發,首先應該要有一個清晰的學習路線。希望這篇文章,能為大家在選擇未來的發展方向時提供一些參考和幫助。下面來和小編一起看一看吧!
1、基礎學習
●HTML+CSS基礎:
HTML進階、CSS進階、div+css布局、排版、html+css整站開發,樣式美化和瀏覽器兼容
●JavaScript基礎:
掌握Js基本語法、條件、語句和循環、js內置對象常用方法、ECMAscript、DOM、BOM、定時器和焦點圖,並學習增強邏輯的常用演算法,實現木馬、拖放、放大鏡等常見的網路特效。
●JavaScript高級特性:
正則表達式與JSON、正則表達式案例、JavaScript原理與庫封裝、閉包、函數節流、作用域鏈、面向對象基礎、事件與運動框架封裝
●JQuery基礎使用:
DOM操作、特效和動畫、方法鏈、拖拽、變形、JQueryUI組件的基本使用,開發復雜的交互功能和效果,並能熟悉JQuery的插件開發機制。
2、HTML5+CSS3和移動Web開發
●HTML5:
HTML5新語義標簽、HTML5表單、音頻和視頻、離線和本地存儲、SVG、WebSocket
●CSS3:
CSS3新選擇器、偽元素、顏色表示法、邊框、陰影、background系列屬性改變、Transition、動畫、景深和深透、3D效果製作、Velocity.js框架、元素進場、出場策略、炫酷CSS3網頁製作
●圖像學:
Canvas、Canvas游戲、數據可視化、Heighcharts.js
●Bootstrap:
響應式概念、媒體查詢、響應式網站製作、刪格系統、刪格系統原理、Bootstrap常用模板、LESS和SASS
●移動Web開發:
跨終端WEB和主流設備簡介、流式布局、彈性盒子、rem、移動終端JavaScript事件、手機中常見JS效果製作、Zepto.js、商城頁面、滾屏
3、HTTP服務和AJAX編程
●WEB伺服器基礎:
伺服器基礎知識、Apache伺服器和其他WEB伺服器介紹、Apache伺服器搭建、HTTP介紹
●PHP基礎:
PHP基礎語法,使用PHP處理簡單的GET/POST請求
●AJAX上篇:
Ajax簡介和非同步的概念、Ajax框架的封裝、XMLHttpRequest對象詳細介紹方法、兼容性處理方法、Ajax框架的封裝、Ajax中緩存問題、XML介紹和使用
●AJAX下篇:
JSON和JSON解析、數據綁定和模板技術、JSONP、跨域技術、圖片預讀取和lazy-load技術、JQuery框架中的AjaxAPI用法、使用Ajax實現瀑布流案例
4、面向對象進階
●面向對象終極篇:
從內存角度到理解JS面向對象、基本類型、復雜類型、原型鏈、ES6中的面向對象、屬性讀寫許可權、設置器、訪問器
●面向對象三大特徵:
繼承性、多態性、封裝性、介面
●設計模式:
面向對象編程思維、單例模式、工廠模式、策略模式、觀察者模式、模板方法模式、代理模式、裝飾者模式、適配器模式、面向切面編程
5、封裝一個屬於自己的框架
●框架封裝基礎:
事件流、冒泡、捕獲、事件對象、事件框架、選擇框架
●框架封裝中級:
運動原理、單物體運動框架、多物體運動框架、運動框架面向對象封裝
●框架封裝高級和補充:
JQuery框架雛形、可擴展性、模塊化
6、模塊化組件開發
●面向組件編程:
面向組件編程的方式、面向組件編程的實現原理、面向組件編程實戰、基於組件化思想開發網站應用程序
●面向模塊編程:
AMD設計規范、CMD設計規范、RequireJS,LoadJS、淘寶的SeaJS、CommonJS、ES6Moles
7、工程化&構建、主流的框架
●Web開發工作流:
GIT/SVN、Yeoman腳手架、NPM/Bower依賴管理工具、Grunt/Gulp/Webpack、打包案例
●MVC/MVVM/MVW框架:
Vue.js、React、Angular.js、Backbone.js、Knockout/Ember、項目驅動
8、Node.js全棧開發
●快速入門:
Node.js發展、生態圈、Io.js、Linux/Windows/OS
X環境配置、REPL環境和控制台程序、非同步編程,非阻塞I/O、模塊概念,模塊管理工具、開發流程,調試,測試;掌握node.js全棧的解決方案和在伺服器端JS高效開發
●核心模塊和對象:
全局對象global,process,console,util、事件驅動,事件發射器、加密解密,路徑操作,序列化和反序列化、文件流操作、HTTP服務端與客戶端、Socket.IO
●Web開發基礎:
HTTP協議,請求響應處理過程、關系型資料庫操作和數據訪問、非關系型資料庫操作和數據訪問、原生的Node.js開發Web應用程序、Web開發工作流、Node.js開發Blog案例。
●快速開發框架:
Express簡介+MVC簡介、Express常用API、Express路由模塊、Jade/Ejs模板引擎、使用Express重構Blog案例、Koa等其他常見MVC框架。
●資料庫:
mongoose/mongoDB、MYSQL
●Node.js開發電子商務實戰:
需求與設計、賬戶模塊注冊登錄、會員中心模塊、前台展示模塊、購物車,訂單結算、在線客服即時通訊模塊
9、微信系列
●微信公眾號
JS-SDK配置、定製菜單、回調、定製分享內容、掃一掃、地理位置、微信音頻、圖像、語音識別功能、伺服器端curl
庫、支付、卡券、微店、微信開發模式與公眾號分析、統計分析
●微信小程序
小程序項目、uni-app、mpvue
10、移動APP(Web/Native/Hybrid)
●ReactNative簡介、ReactNative環境配置、創建項目,配置,編譯,調試,部署發布、原生模塊和UI組件、原生常用API
●Ionic簡介和同類對比、模板項目解析、常見組件及使用、結合Angular構建APP、常見效果(下拉刷新,上拉載入,側滑導航,選項卡)
11、其他
●職業素養
溝通表達、團隊合作、目標管理、時間管理、心態管理
●就業指導
簡歷&投遞技巧、面試&筆試技巧
12、推薦一些編程學習網站
01、嗶哩嗶哩
這個網站如果讓我評價,可謂是上邊的視頻都是非常高質量的,你可以去搜索看一下。
02、菜鳥教程
這個網站雖然不是視頻網站,一聽名字就知道適合菜鳥的,但是基礎的知識寫的非常詳細,很清晰易懂,非常適合剛開始學習編程的小夥伴。
03、W3School
之前剛開始學WEB開發時,經常在該網站,就是結合w3school學習前端,開發時,如果遇到記不清的標簽,就去w3school搜索,平常有時間,就來慕課看前端視頻。
類似這樣的學習網站還有很多,該開始入門的話上面的網站足矣。其他的網站推薦還有騰訊課堂、實驗樓、果殼MOOC學院等、知乎、掘金......
以上就是小編今天為大家分享的關於2020年Web前端自學之路指南的文章,希望本篇文章能夠對正在從事Web前端工作的小夥伴們有所幫助,想要了解更多Web前端知識記得關注北大青鳥Web培訓官網,最後祝願小夥伴們工作順利,成為一名優秀的Web前端工程師。
文章來源:原創前端猿前端猿指北
㈢ nodejs中ejs宓膖itle亂碼怎麼辦
在ejs模板里添加上面那句話沒問題,但如果引用某個js,這個js里alert中文,那麼這個中文就變成亂碼了,這是怎麼回事呢?頁面上設置了utf-8編碼的,引入的js文件也是utf-8格式的
㈣ express nodejs怎麼使用
Express 是一個簡潔、靈活的 node.js Web 應用開發框架, 它提供一系列強大的特性,幫助你創建各種 Web 和移動設備應用。
1.express組織結構
app demo
|---node_moles------用於安裝本地模塊。
|---public------------用於存放用戶可以下載到的文件,比如圖片、腳本、樣式表等。
|---routes------------用於存放路由文件。
|---views-------------用於存放網頁的模板。
|---app.js------------應用程序的啟動腳本。
|---package.json------項目的配置文件。
2..創建express伺服器
//app.js文件
var express = require('express');
var app = express();
//指定更目錄顯示的內容
app.get('/', function(req, res){
res.send('Hello World');
});
//指定監聽埠
var server = app.listen(3000, function() {
console.log('Listening on port %d', server.address().port);
});
運行nodejs應用程序
/>node app.js
3.中間件
中間件(middleware)就是處理HTTP請求的函數.
當一個HTTP請求進入伺服器,伺服器實例會調用第一個中間件,完成後根據設置,決定是否再調用下一個中間件.
中間件的參數為:
.四個的時候---第一個為錯誤處理,第二個為客戶請求request,第三個為伺服器響應respond,第四個為next中間件. 如function(error, request, response, next){}
.三個的時候---第一個客戶請求request,第二個為伺服器響應respond,第三個為next中間件. 如function(request, response, next){}
.兩個的時候---第一個客戶請求request,第二個為伺服器響應respondfunction. 如function(request, response){}
4.使用中間件use
use是express調用中間件的方法,它返回一個函數.
app.use(function(request, response) {
response.writeHead(200, { "Content-Type": "text/plain" });
response.end("Hello world!\n");
});
5.錯誤內容顯示
app.use(express.bodyParser());//使用body參數
app.use(express.methodOverride());//使用函數覆蓋
app.use(app.router);//使用路由
app.use(function(err, req, res, next){
console.error(err.stack);
res.send(500, 'Something broke!');
});//錯誤內容顯示
6.路由
express路由的方式有多種,這里舉例常用的幾種:
.app.use('/', middleware);//get/post時,對於路徑/的處理
.app.get("/", middleware);//http中get時,對於路徑/的處理
.app.post("/", middleware);//http中post時,對於路徑/的處理
.app.put("/", middleware);//http中put時,對於路徑/的處理
.app.delete("/", middleware);//http中delete時,對於路徑/的處理
7.路徑通配符*
.*表示所有路徑
app.get("*", function(request, response) {
response.end("404!");
});//所有路徑都返回404
.:捕獲路徑內容
app.get("/hello/:who", function(req, res) {
res.end("Hello, " + req.params.who + ".");
});//如"/hello/alice」網址,網址中的alice將被捕獲,作為req.params.who屬性的值
8.設置環境變數set
set用於指定變數的值.
app.set("view engine", "ejs");//使用ejs作為模版
9.response對象方法
.重定向redirect
response.redirect("/hello/anime");//重定向到/hello/anime
.發送文件sendFile
response.sendFile("/path/to/anime.mp4");
.渲染網頁模板render,即把變換的內容載入到網頁.
response.render("index", { message: "Hello World" });//將message變數傳入index模板,值為"Hello World"渲染成HTML網頁
10.requst對象方法
.獲取客戶ip地址:request.ip
.獲取上傳的文件:request.files
11.啟動腳本package.json
package.json用於指定app信息,nodejs版本號和其他組件的依賴關系
{
"name": "demo",
"description": "My First Express App",
"version": "0.0.1",
"dependencies": {
"express": "3.x"
}
}
12.app入口app.js
app.js主要包含http的創建,基本路由,監聽埠號
13.動態網頁模板views
views文件夾,用於存放所有的放網頁模板.
//app.js
app.get('/', function(req, res) {
res.render('index',{title:"最近文章"});
});
//index.js
this is <%=title%>!
14.指定靜態網頁目錄
//app.js
app.use(express.static('public'));//指定靜態網頁目錄,當瀏覽器發出非HTML文件請求時,伺服器端就到public目錄尋找這個文件
如:<link href="/bootstrap/css/bootstrap.css" rel="stylesheet">, 伺服器端就到public/bootstrap/css/目錄中尋找bootstrap.css文件
㈤ NodeJS項目基礎結構簡單介紹
按照常規,去執行npm start
或者在Terminal中手動輸入命令,結果如下:
可以看到是執行了test/package.json文件中的 start 命令,初始packagejson.json文件內容如下:
執行 start ,對應的命令為 node ./bin/www 並在命令行執行。現在項目已經啟動成功了,可以打開瀏覽器輸入 localhost:3000 查看一下,但是本次側重點在於項目啟動時候發生的完整的過程。所以……
那麼我們需要看一下 ./bin/www 文件
通過 require() 來引入本地安裝的包,這里載入了三個包 app、debug 、http ,主要關注一下app.js
可以看到app載入的為該項目基礎組件,核心為 var app = express(); 看一下express.js
將app用到的中間件等暴露出來,所以 app = express() 實際上就是載入應用基礎組件,生成項目的根節點(當然這個節點是復合的)。所以在app.js中,進行的是載入應用基礎組件並進行應用設置初始化(包含了視圖目錄設置、頁面模板引擎設置、中間件的設置、靜態資源目錄設置以及錯誤捕捉相關內容)。
繼續回到 www.js ,同樣將debug配置、http相關組件進行載入。繼而是默認埠號的設定。通過http.createServer(app),創建應用服務相關信息,並對埠進行監聽。
瀏覽器輸入 localhost:3000
控制台顯示:
說明在以 GET 方式請求URI為 "/" 的資源,並以 GET 方式請求 /stylesheets/style.css 資源,這個發生在app.js中我們設定的資源請求。
我們來看下 ./routes/index 文件
即定義網站主頁的路由
使用 express.Router 類創建模塊化、可掛載的路由句柄(簡稱:路由模塊)。Router 實例是一個完整的中間件和路由系統。最終,在應用中載入路由模塊app.use('/', indexRouter);
通過 res.render 對視圖進行渲染,上述為對index.ejs的渲染。 ps:在app.js中已經設定了views的所在目錄 。語法: res.render(view [,locals] [,callback])
示例:
區別:路由句柄
為請求處理提供多個回調函數,其行為類似 中間件 。唯一的區別是這些回調函數有可能調用 next('route') 方法跳至下一個同路由的回調函數而略過其他路由回調函數。路由句柄有多種形式,可以是一個函數、一個函數數組,或者是兩者混合。
使用一個回調函數處理路由:
使用多個回調函數處理路由(記得指定 next 對象):
使用回調函數數組處理路由:
混合使用函數和函數數組處理路由:
區別:路由方法
一個路由示例:
路由方法源於 HTTP 請求方法,和 express 實例相關聯。
獲取express的一個實例 app ,通過路由方法(和HTTP請求對應),GET方式請求 "/"。詳細的路由方法參考鏈接: 路由方法
㈥ web前端開發需要學習什麼知識
首先我們百抄要分清前端這部分的分襲工,一般來講分為:設計和開發。設計是設計師的工作,設計師按照用戶需求出設計圖,他們使用的工具一般是fireworks、Dreamweaver和photoshop這類設計工具,圖片出來後,度前端開發就需要按照圖片的設計製作HTML靜態頁面,那麼這就是前端開發的主要工作了。
Web前端工程師是協調前端工程師、後端程序員實現網站知頁面活程序的界面美化、交互體驗的IT技術開發人員,需要精通HTML、CSS、JavaScript、jQuery、Ajax等核心的Web前端技術,具備互聯網交互設計能力,熟悉Vue、React、angularjs 等最新的框架。
web前端學習主要包括:HTML、CSS、JavaScript、jQuery、Ajax
HTML:不是編程道語言,僅僅是數據格式
CSS:無類型的樣式修飾語言,算弱類型語言;需理解每個元素屬性、樣式等
JavaScript:學習起來相對來說不算太難回,入手快
jQuery、Ajax:如果想在前端這塊混的好,這兩門語言一定要掌握(雖然不一定要用,但一定要會)