㈠ 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:如果想在前端这块混的好,这两门语言一定要掌握(虽然不一定要用,但一定要会)