教程视频:bilibili 《Nodejs教程_Nodejs+Koa2入门实战视频教程-2020年更新》
supervisor
- 可以用淘宝的npm镜像cnpm来代替npm安装包,cnpm安装方式如http://npm.taobao.org/中所示
- supervisor工具可以使得代码中已保存的变化立即显示在网页中,不用重新执行代码,可直接代替node使用。
node app.js // 之前的执行方式
supervisor app.js // 用supervisor的执行方式
- 如果C盘空间不够,可以先将npm的安装包位置改到其他硬盘,更改步骤https://www.jianshu.com/p/f2873fcef5aa
- supervisor安装时要全局安装
// 如果未安装cnpm,则将命令中的cnpm替换为npm即可
cnpm install -g supervisor
- 如果安装好包之后,用supervisor运行程序时提示
supervisor : 无法加载文件D:\software\nodejs\jstool\npm\pkg\super
visor.ps1,因为在此系统上禁止运行脚本。
按照https://www.cnblogs.com/chenzhiran/p/12080349.html中步骤解决该问题。
引入、暴露模块
1. 引入模块
路径配置:
1.1 模块路径不在node_modules中
// 引入模块
const tools = require('./modules/tools.js');
// 调用模块中方法
var api = tools.formatApi('api/plist'); // 调用模块中方法
1.2 模块路径在node_modules中
// 引入方式1
var axios = require('./node_modules/axios/index');
axios.get();
// 引入方式2
var axios = require('axios/index');
axios.get();
// 引入方式3,需要注意默认找axios下的index.js模块
// 所以如果模块名非index.js,则此方式报错
var axios = require('axios');
axios.get();
注:在用方式3引入时,查找模块默认查找index.js,若无index.js,则需要先生成配置文件,配置默认入口js
配置方式:进入到该模块的路径下的命令行窗口,执行npm init --yes即可。
2. 暴露模块
暴露模块总共有两种方法,一个是exports.xxxx = obj,另一个是module.exports=obj。
var obj = {
get:function(){
console.log('从服务器获取数据')
},
post:function(){
console.log('提交数据')
}
}
exports.xxxx = obj; // 暴露方法1
module.exports=obj; // 暴露方法2
// 还可用暴露方式1暴露自定义的方法
// 自定义模块
function formatApi(api) {
return "http://www.itying.com/"+api
}
exports.formatApi = formatApi; // 暴露方法1
// 如果模块中方法独立的话,可以直接用暴露方法1暴露
// 如果模块中方法不独立,则建议用暴露方法2暴露
exports.get = function(){
console.log('从服务器获取数据')
}