# homework-fe-03-01 **Repository Path**: sfljskeprim_admin/homework-fe-03-01 ## Basic Information - **Project Name**: homework-fe-03-01 - **Description**: No description available - **Primary Language**: NodeJS - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-11-30 - **Last Updated**: 2021-11-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README 1. 什么是 Node.js > Node.js 不是编程语言,而是一个执行JavaScript代码的工具,可以安装在计算机操作系统上的软件,Node.js中内置了JavaScript V8 Engine 可以将JavaScript代码编译成计算机能够识别的机器码。 2. 什么是 npm > NPM 是Node.js环境中的软件包管理器,随Node.js一起安装,它可以将Node软件包添加到应用程序中并对其进行管理,例如:下载、更新、删除等 > NPM 没有用户界面,需要使用命令行工具通过命令的方式使用,Node和NPM是两个独立的应用,只是NPM被捆绑安装了。 3. 前端工程化解决的问题 > 前端工程化主要解决: - 传统语言和语法的弊端例如将ES6+语法转换为ES5 - 无法使用模块化/组件化 - 重复的机械式工作 - 代码风格统一、质量保证 - 依赖后端服务接口支持 - 整体依赖后端项目 工程化的表现:一切以提高效率、降低成本、质量保证为目的的手段都属于工程化。 工程化归功于Node.js,而脚手架工具就是工程化的发起者,脚手架的本质作用:创建项目基础架构、提供项目规范与约定 - 相同的组织结构 - 相同的开发范式 - 相同的模块依赖 - 相同的工具配置 - 相同的基础代码 1. Node.js端的 JS 与浏览器端的 JS 有什么差异 Node.js和浏览器端都内置了JavaScript V8 engine 实际上只能执行ECMAScript语法部分,浏览器端为了能够让JavaScript操作浏览器窗口以及HTML文档,添加了控制他们的API就是BOM和DOM。 Node.js中没哟DOM和BOM,而是添加了很多系统级别的API,比如文件和文件夹的操作,获取操作系统信息等等。 **# 代码题(提交作业时,务必删除node_modules,并配置好package.json)** 1. 使用fs 实现复制一个less文件至另一个目录中,需要自动化内部的less插件提前转化为css文件并且是压缩后的文件,文件名修改为.min.css (使用自动化里边用less插件转化,后续用fs完成复制压缩重命名) 1. 使用gulp打包2-6的ajax留言板作业,需压缩代码,并在服务器运行 (json文件单独存放,完全不参与打包,引入的第三方文件,如jq等,不需要压缩,流入dist目录即可,先启动json后新开终端启动gulp)