gulp + 服务器 --暑假Day11

第三方模块Gulp

基于node平台开发的前端构建工具
机器代替手工,提高开发效率
可以进行语法转换,项目上线时的文件压缩合并,公共文件抽离,修改文件浏览器会自动刷新

  • gulp.src():获取任务要处理的文件
  • gulp.dest():输出文件
  • gulp.task():建立gulp任务
    第一个参数是任务的名称,第二个参数是任务的回调函数
  • gulp.watch():监控文件的变化
const gulp = require('gulp');

gulp.task('first', () => {
    console.log('第一个gulp任务');
    gulp.src('./src/css/index1.css')
        .pipe(gulp.dest('dist/css'));
})//实现了拷贝效果

在这里插入图片描述

其他功能通过插件来实现,使用方法就是下载引用调用
在这里插入图片描述

如何将抽取出去的html文件的公共代码再插入到原来的文件里面呢?只需要在body里面书写@@include(‘文件路径’)

package.json

在命令行中输入npm init -y就会自动生成这个文件

node_nodules文件夹内容过碎,所以传输时不建议都传输,因为在package.json里面会有加载过插件的记录,所以可以在接收文件后自己加载所需要的插件

项目依赖:在项目的开发阶段和线上运营阶段,都需要依赖第三方包
开发依赖:在项目开发阶段需要依赖,线上运营阶段不需要依赖第三方包

开发依赖会把–save-dev命令会将包添加到package.json文件的devDependencies中

–production命令会让命令行只缓存项目依赖

package-lock.json文件是为了锁定包的版本,加快下载速度

Node.js中模块加载机制

只有路径,没有后缀
在这里插入图片描述

没有路径也没有后缀
在这里插入图片描述

Node.js

Node.js全局对象global

浏览器中是window,Node中是global

Node中有这些方法
在这里插入图片描述

服务器

在这里插入图片描述

域名:就是上网使用的网址

可以通过计算机发出很多请求,如何判断发出的是哪种请求,于是就引入了端口

端口就是计算机与外界通讯交流的出口,用来区分服务器电脑中提供的不同的服务

url

统一资源定位符,是专为标识网上资源位置而设的编址方式

在这里插入图片描述

http:超文本传输协议,提供了一种发布和接收HTML页面的方法

本机域名:localhost
本地IP:127.0.0.1

创建web服务器

const http = require('http');
// createServer用于创建网站服务器
const app = http.createServer();

app.on('request', (req, res) => {
// req代表请求对象,保存了请求相关的信息,res是响应
    res.end('<h2>hello user</h2>')
})
// 监听3000端口号 
app.listen(3000);
console.log('网站服务器启动成功');

HTTP协议

客户端和服务器端共同的规范

在这里插入图片描述

报文,就是http请求和响应的过程中传递的数据块,包括要传送的数据和一些附加信息,要遵守规定好的格式有请求报文和响应报文,报文都是键值对
在这里插入图片描述

请求报文

GET:请求
POST:发送

form元素有两个属性,method和action,method是指定当前表单提交的方式,action是指定当前表单提交的地址

  • req.headers获取请求报文
    如果想获取到更详细的内容,比如说想获取请求报文里面accept里面的内容,只需要像下面这样就可以了,在中括号的引号里面写上想要的键就可
console.log(req.headers['accept']);
  • req.url获取请求地址,可以根据客户端不同的请求来响应不同的内容
    如果在网页中什么都不输入,会返回/
  • req.method获取请求方法

响应报文

通过http状态码来判断请求的状态

200:请求成功
404:请求的资源没有被找到
500:服务器端错误
500:客户端请求有语法错误

响应内容的类型

    // 第一个参数是状态码,默认200;第二个参数是对象,里面填的内容是响应头里面的东西
    res.writeHead(200, {
        'content-type' : 'test/html;charset = utf8'
        // 'content-type' : 'test/plain'//表示TXT纯文本
    })
  • GET请求参数是通过url来传递的
  • POST请求参数是通过事件的方式接受的
    data当请求参数传递完成时候发出data事件
    end当参数传递完成的时候发出end事件
const http = require('http');
const app = http.createServer();
const querystring = require('querystring');
//querystring模块的parse方法可以用于将POST传递的内容改变为对象格式
app.on('request', (req, res) => {
   let postParams = '';
   req.on('data', params => {
       postParams += params;
   })
   req.on('end', () => {
       console.log(querystring.parse(postParams));
   })
   res.end('ok');
})
// 监听3000端口号 
app.listen(3000);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,以下是一个使用 `gulp-useref` 并过滤指定 js 文件的示例: ```javascript const gulp = require('gulp'); const useref = require('gulp-useref'); gulp.task('build', function() { return gulp.src('src/*.html') .pipe(useref({ searchPath: ['src', '.'] })) // 过滤掉不需要处理的 js 文件 .pipe(gulp.dest('dist')); }); ``` 在这个示例中,我们使用 `gulp-useref` 来处理 HTML 文件,并将注释块中引用的 JS、CSS 文件合并到一个或多个文件中。同时,我们通过 `searchPath` 属性指定了搜索路径,这样 `gulp-useref` 就能够正确地解析 HTML 文件中的相对路径了。 接着,我们通过 `pipe` 方法将处理后的文件输出到 `dist` 目录中。在这个过程中,我们也可以使用 `gulp-if` 来过滤掉不需要处理的文件。例如,如果我们只想处理所有 `src` 目录下的 JS 文件,可以这样写: ```javascript const gulp = require('gulp'); const useref = require('gulp-useref'); const gulpIf = require('gulp-if'); gulp.task('build', function() { return gulp.src('src/*.html') .pipe(useref({ searchPath: ['src', '.'] })) // 只处理 src 目录下的 js 文件 .pipe(gulpIf('**/*.js', gulp.dest('dist'))) .pipe(gulp.dest('dist')); }); ``` 在这个示例中,我们使用 `gulp-if` 来过滤掉不需要处理的 JS 文件,而只处理 `src` 目录下的 JS 文件。这样,我们就能够只处理我们需要的文件了。 希望这个回答能够帮到你,如果你还有其他问题,可以继续问我。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值