这几天又开始疯狂学习了哈哈
1.each与forEach
each是art-template的模板语法
{{each 数组}}
<li>item</li>
{{/each}}
301 永久重定向 浏览器会记住
302 临时重定向 浏览器不记忆
2.模块系统
1.EcmaScript语言
2.核心模块
3.第三方模块
common.js模块规范 文件作用域 通信规则。在node中js还有模块。
3.加载与导出的使用规则
var foo = 'bar';
function add(x,y){
return x+y;
}
exports.add = add;
// 如果一个模块需要直接导出一个成员,而非是一个对象
// module.exports = add
//1.使用reuire方法加载对象
// 执行被加载模块中代码
// 得到被加载模块中exports导出的接口对象
//2. 使用exports接口对象来导出模块中成员
// 可以node中每个模块中都有一个自己的module对象
// 在module对象中,有一个成员叫exports
// var module = {
// exports:{
// }
// }
// 无论谁来require我,在代码最后一句是
// return module.exports
// 因为在每次导出接口成员时,都需要把导出的module.exports.xxx=xxx
// 太麻烦,所以在node中module.exports = exports
// 所以exports是module.exports的一个引用
// 如果给exports重新赋值就不管用
// 如果是module.exports = 'hello';
// exports.foo = 'world';
// 给exports重新赋值会断开引用,同理给module.exports重新赋值也会断开引用
4.优先从缓存加载
由于已经从a中加载过了,所以不会从b中再次加载。就直接从缓存中加载,这样就避免了重复加载
5.require方法加载
require时,判断模块是哪种类型。如果是非路径形式的模块标识,就是其他系统模块
核心模块的本质也是文件,已经被编译到了二进制文件中,我们只需要按照名字来加载就可以了。
第三方模块,凡是第三方模块都必须通过npm来下载,使用的时候就可以通过require(‘包名’)的方式进行加载才可以使用
var template = require(‘art-template’)
先找到当前文件中的node_modules目录
然后找到node_modules/art-template
然后找到node_modules/art-template/package.json文件
然后找到node_modules/art-template/package.json的main属性
如果main入口文件没有写要做什么就默认加载index.js
如果所有条件都不会成立,就会进入上一级目录中node_modules目录查找,如果上上级没有还没有,继续向上找,值到找到磁盘根目录
6.包说明文件
// 包描述文件
//package.json保留了下载第三方包
// 包说明文件 描述项目依赖
// npm i art-tempalte --save
// 就是依赖,就是当前项目依赖了art-template
// npm init -y
// 自动创建文件
7.npm常用命令
// npm 下载
// npm 命令行工具
// npm i -g npm 升级npm
// npm unnistall 包名 只删除,如果有依赖项,依然会保留
// npm unnistall 包名 --save 删除同时删除依赖
8.express安装
npm i express
const express = require('express');
// 创建server服务器 express()相当于创建了一个服务器
var app = express();
app.get('/',function(req,res){
res.end('hello world');
})
app.get('/about',function(req,res){
res.send('你好,我是express');
})
app.listen(3000,function(){
console.log('app is runnig at 3000');
});
// 如何开放资源 :3000/public/main.js
// 指定公开静态开放目录 app.use('/public/',express.static('./public'));
// 就不用自己写了
app.use('/public/',express.static('./public/'));
9.大致了解express
在express参数中,可以直接通过req.query来获取参数,查询字符串
在expree中有如何使用模板引擎的更好方法,res.render(‘文件名’,{模板对象})
虽然有点累,但是大家加油!!!