一、NodeJS简介和安装
1. 安装Visual Studio Code: https://code.visualstudio.com/
2. Javascript只能在HTML文件中引用,不能单独使用。所以有了NodeJS, NodeJS是一个平台。
3. 安装NodeJS: http://nodejs.cn/download/
4. NPM(node package manager)是NodeJS库的地址:https://www.npmjs.com/
5. NodeJS原来开发是想作为轻量化的服务器,但目前主要是用基于NodeJS平台衍生的工具,NodeJS不太用写代码。
二、NodeJS的基本使用
2.1 运行谁就Node谁
- 创建js文件
Console.log(1+1);
2. 按住shift+鼠标右键 ->在此处打开命令窗口
3. 使用NodeJS必须使用CMD窗口,在命令窗口输入:
node test.js
输出结果: 2
2.2 简单案例
a:案列一:读写文件
- fs是file system文件系统,是NodeJS的内置“模块”,利用它可以读写文件
var fs=require("fs");
fs.writeFile("./xiewenjian.txt", "你好", function(err){
if(!err){
console.log("文件写好了");
}else{
console.log(err);
}
})
输出结果
b. 案列二:css样式(将a.less文件中的class嵌套翻译成css文件)
- CMD 安装less (less是智能样式表)
npm –o 可选环境
npm –g 全局环境
npm install -g less
2. 创建文件a.less
@w: 100px;
.header {
width: @w * 8;
height: 100px;
.logo {
float: left;
}
ul {
letter-spacing: normal;
li {
float: left;
}
}
}
3. CMD输入:
lessc a.less a.css
4. 得到新创建的a.css文件
.header {
width: 800px;
height: 100px;
}
.header .logo {
float: left;
}
.header ul {
letter-spacing: normal;
}
.header ul li {
float: left;
}
三、NodeJS模块
a. 案例一:算面积周长
exports. 向外暴露一个函数
circle.js 是入口文件
1. 新建 “app.js”文件
exports.mianji=function (r){
return 3.14 * r * r;
}
exports.zhouchang=function (r){
return 2 * 3.14 * r;
}
2.新建”circle.js”文件
var circle=require("./app.js");
console.log(circle.mianji(10));
console.log(circle.zhouchang(10));
1. 结果
b. 案列二:当有两个暴露文件
1. 创建“circle.js”
exports.mianji=function (r){
return 3.14 * r * r;
}
exports.zhouchang=function (r){
return 2 * 3.14 * r;
}
2. 创建“fang.js”
exports.mianji=function(r){
return r*r;
}
exports.zhouchang=function(r){
return r*4;
}
3.创建“app.js”
var circle=require("./circle.js");
var fang=require("./fang.js")
console.log(circle.mianji(10));
console.log(circle.zhouchang(10));
console.log(fang.mianji(10));
console.log(fang.zhouchang(10));
2. 结果
c. 案列三:people函数
1.创建”people.js”
function people(name, age, sex){
this.name=name;
this.age=age;
this.sex=sex;
}
people.prototype.sayhello=function(){
console.log("hello" + this.name);
}
exports.people=people;
2. 创建“app.js”
var people=require("./people.js")
var bill=new people.people("bill", "30", "male");
bill.sayhello();
3.结果:
或者:
1. People.js可以这样写(用模块化导入)
module.exports=people;
2. app.js可以这样写
var bill=new people("bill", "30", "male");
3. 可以得到一样的结果
四、node_modules文件夹
1. node_modules文件夹可以:
- 不写完整的路径和文件类型
- 可以放在任何一级目录下面
2. 创建node_modules文件夹, 放入暴露文件people.js
3. 更新app.js文件
var people=require("people")
4.可以正常node
六、npm的使用
npm网址:https://www.npmjs.com/
6.1 npm简单案例
a. 案列一:农历日期
1. 在npm网站搜索“农历”(全世界分享NodeJS模块的网站)
2. 点击进入solarlunar, 根据模块的说明安装使用solarlunar
以下截图是显示的ES6语法
1) 安装:
npm install solarlunar
2) 在app.js文件中引用solarlunar
var solarlunar=require("solarlunar");
console.log(solarlunar.solar2lunar(2015, 10, 8));
3) 结果
b. 案列二:拼音
- npm 搜索并在cmd安装拼音模块
npm install pinyin
2. 在app.js里更新
var pinyin = require("pinyin");
console.log(pinyin("中心"));
3. 结果
c.案列三:人民币大写
- npm 搜索并安装模块
npm install rmb-x
2.更新app.js文件
var rmb=require('rmb-x');
console.log(rmb(200));
3.结果
注:"package-lock.json"文件是打包锁,保证下次下载文件速度会快一些,可以删除。
d. 案列四:将二维数组转换成excel
- 安装node-xlsx
npm install node-xlsx
2. 更新app.js文件
var data=[
["","一月","二月"],
["钢材","12","24"],
["铝材", "15", "50"]
]
var xlsx=require("node-xlsx")
var buffer = xlsx.build([{name: "利润表", data: data}]);
var fs=require("fs");
fs.writeFile("./利润表.xlsx", buffer, function(){
console.log("写好了");
}
)
3. 结果