IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> node.js与gulp相关服务器搭建、模块化、npm包、操作文件理论与案例 -> 正文阅读

[JavaScript知识库]node.js与gulp相关服务器搭建、模块化、npm包、操作文件理论与案例

node.js?

? ? ? ? 概念:node.js是一个js运行环境,有大量的api
? ? ? ? ? ? ? ? ? ?node.js=谷歌V8引擎+大量的api

? ? ? ? 读取一个js文件:cmd中 --------------node 文件名

? ? ? ? 作用:js依赖于浏览器的js引擎,只能在页面运行,而nodejs实现了js代码脱离浏览器,在cmd控制台即可运行,可以实现诸多功能

? ? ? ? 安装:node官网下载安装


node搭建服务器(http官方模块

? ? ? ? 导入http模块:const http=require("http");

? ? ? ? 创建服务器对象:http.createServer(function(req,res){}).listen(端口号)

const http = require("http");
http.createServer(function(req, res) {
    //响应头
	res.writeHead(200, {
		"Content-type": "text/html;charset=utf-8"
	});
     //响应内容
	res.write("我是服务器响应数据");
	res.end("<b>我是加粗的</b>");
}).listen(8888);

????????ps:cmd读取运行之后,可在网页地址栏输入地址访问该页面,实现了用js代码搭建服务器


文件的读写(fs官方模块

读:

????????创建一个js文件,并导入fs模块

?????????const fs=ruquire('fs');

????????fs.readyFile("文件名",(err,data)=>{
? ? ? ? console.log(data)
????????})?

????????当前目录cmd运行 node js文件名

const fs = require("fs");
fs.readFile("4.txt", (err, data) => {
	if (err) {
		console.log("文件读取失败")
	} else {
		console.log("文件读取成功");
		console.log(data.toString());
	}
})

写:

????????fs.writeFile("文件名","内容",覆盖还是增加,回调函数)

????????有该文件名则默认覆盖,无该文件自动创建

fs.writeFile("5new.txt", "用nodejs可以直接创建一个新文件",{flag:"a"}, () => {
	console.log("写入数据成功")
})

????????当前目录cmd运行 node js文件名?

????????创建一个目录:

? ? ????????? ? fs.mkdir("目录名",()=>{})

????????删除一个目录:
? ????????? ? ? fs.rmdir("目录名",()=>{})

????????删除一个文件:

? ? ????????? ? fs.unlink("文件名",()=>{})


自定义模块

? ? ? ? node可以实现js文件访问js文件,模块之间进行交互

? ? ? ? 导出:

? ? ????????? ? module.exports={
? ? ????????? ? a:123,
? ? ????????? ? b:321}

? ? ? ? 导入(可以导入多个模块):

? ? ? ????????? const c=require('./文件名')

? ? ????????? ? c.a即可取得其值

? ? ????????? ? cmd运行该文件即可在cmd显示结果

?es6的模块化:

? ? ? ? 导出:

? ? ????????? ? let a=123;

? ? ????????? ? let b=321;

? ? ? ????????? let c=542;

? ? ? ????????? export default{a,b,c};

? ? ? ? 导入(可以导入多个模块):

? ? ????????? ? import c from "./文件名"

? ? ????????? ? c.a即可取其值

? ? ? ????????? 在html页面中引入该js文件并type="module"


第三方模块

? ? ? ? npm install 模块名

? ? ? ? npm uninstall 模块名

? ? ? ? npm list 查看安装的模块

? ? ? ? npm install -g nodemon自动重运行工具(gulp有用)


gulp

? ? ? ? 是一个基于node平台的项目自动构建化工具,能够实现文件的拷贝、压缩、合并、重命名、es6转es5等功能

????????安装步骤:

? ? ? ? ????????安装cnpm:? ? ? ?npm install cnpm --registry=https://registry.npm.taobao.org ?-g

? ? ? ????????? 安装gulp软件:? ? ? ? cnpm install gulp -g

?????????项目的使用步骤:

? ? ? ? ????????在项目根目录下? ? ? ? cnpm init 创建初始化文件

? ? ? ????????? 安装gulp模块? ? ? ? cnpm install gulp --save-dev

? ? ? ????????? 创建js文件(代码将在这里写)? ? ? ? gulpfile.js

?????????下载各种模块:

? ? ? ? ? ? ? ?合并模块????????cnpm install gulp-concat --save-dev?

? ? ? ? ? ? ? ?压缩js模块????????cnpm install gulp-uglify --save-dev

? ? ? ? ? ? ? ?文件重命名模块?????????cnpm install gulp-rename --save-dev ??

? ? ? ? ? ? ? ?压缩css模块?????????cnpm install gulp-minify-css --save-dev

? ? ? ? ? ? ? ?压缩图片模块????????cnpm install gulp-imagemin@7.1.0 --save-dev

? ? ? ? ? ? ? ?ES6转ES5模块
????????????????? ? cnpm install --save-dev babel-preset-es2015
? ????????????????? cnpm install --save-dev gulp-babel@7 babel-core babel-preset-env

????????在gulpfile.js中:

? ? ?? ???????设置任务: gulp.task(任务名称,回调函数);

? ? ? ? ???? ?运行任务:在控制台 gulp 任务名称

????????拷贝:

?
const gulp = require('gulp');
gulp.task("copy", function() {
	gulp.src("copy.html").pipe(gulp.dest("d:/dest"))
})
gulp.task("copy", function() {
	gulp.src("js/**/*").pipe(gulp.dest("d:/dest"))
})
gulp.task("copy", function() {
	gulp.src("bigjs/**/*").pipe(gulp.dest("d:/dest"))
})

?

????????合并:

const gulp2 = require("gulp-concat");
gulp.task("concat", function() {
	gulp.src(["concat1.js", "concat2.js"]).pipe(gulp2("newjs.js")).pipe(gulp.dest("d:/dest"))
})

?????????压缩js文件:

const gulp3 = require("gulp-uglify");
gulp.task("uglify", function() {
	gulp.src("1路由.js").pipe(gulp3()).pipe(gulp.dest("d:/dest"))
})

????????压缩css文件:

const gulpcss = require("gulp-minify-css");
gulp.task("mincss", function() {
	gulp.src("压缩.css").pipe(gulpcss()).pipe(gulp.dest("d:/dest"))
})

????????压缩图片:

const gulpimg=require("gulp-imagemin");
gulp.task("minimg",function(){
	gulp.src("bigimg/**/*").pipe(gulpimg()).pipe(gulp.dest("d:/dest"))
})

????????es6转es5:

const gulpes5=require("gulp-babel");
gulp.task("change",function(){
	gulp.src("es6.js").pipe(gulpes5({presets:['es2015']})).pipe(gulp.dest("d:/dest"))
})

?????????合并压缩重命名拷贝:

const gulp4 = require("gulp-rename");
gulp.task("rename", function() {
	gulp.src(["concat1.js", "concat2.js"]).pipe(gulp2("newnewjs.js")).pipe(gulp3()).pipe(gulp4(
		"newnewnewjs.js")).pipe(gulp.dest("d:/dest"))
})
  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2021-12-26 22:03:48  更:2021-12-26 22:04:03 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 9:22:17-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码