用Node.js创建一个静态服务器
var http = require ( ' http ' );
var path = require ( ' path ' );
var url =require ( ' url ' );
var fs = require ( ' fs ' );
var port = 8001;
var hostname = ' 127.0.0.1 ' ;
var server = http.createServer ( function ( req , res ) {
var staticPath = path.join ( __dirname , ' static ' );
var urlObj = path.parse ( req.url );
if ( urlObj.pathname === ' / ' ){
urlObj.pathname += ' index.html ';
}
var filePath = path.join ( staticPath , urlObj.pathname );
fs.readFile ( filePath , ' binary ' , function ( err , filecontent ){
if ( err ) {
throw err;
} else {
res.write ( filecontent , ' binary ' );
res.end();
}
});
});
server.listen ( port , hostname , function () {
console.log( ` ---> http://${hostname}:${port} <---`);
}
模块/包 与 Common.js
Node.js中Common.js规范有三种类型;
- 内置模块:例如:path、url、File System……;
- 第三方模块:类似于插件;
- 自定义模块;
——自定义模块;
- 先定义一个变量,变量可以随意赋值;
- 导出模块:
module.exports = 变量名;
module.exports = { 变量名 };
- 导入:
①var 变量名 = require ( 相对路径 );
②var { 变量名 } = require (相对路径 );
——自定义模块上传至npm;
- 使用nrm先将源切换至npm源(
nrm use npm
);
- 使用npm命令添加用户(
npm adduser
)(对网络有一定要求,不然会报错);
- 使用npm命令将你写的包上传至npm官网(
npm publish
)(对网络也有一定要求);
前端模块化;
- AMD ( Asynchronous Module Definition ):异步模块定义。它采用异步方式加载模块。
- CMD (Common Module Definition);
- Common.js (module.export , require);
- es6 模块化 (export , import );
终端命令
- gitbash 客户端软件中的命令 叫做 linux命令;
·①clear:清屏;
·②ls:列出当前目录下的所有目录和文件; - cmd中的命令叫做 DOS 命令;
·①dir/w :列出当前目录下的所有的目录和文件;
·②cls :清屏;