#! /usr/bin/env node const yargs = require('yargs'); const path = require('path'); const config = require('./config'); const StaticServer = require('../src/app'); const pkg = require(path.join(__dirname, '..', 'package.json')); const options = yargs .version(pkg.name + '@' + pkg.version) .usage('yg-server [options]') .option('p', { alias: 'port', describe: '设置服务器端口号', type: 'number', default: config.port }) .option('o', { alias: 'openbrowser', describe: '是否打开浏览器', type: 'boolean', default: config.openbrowser }) .option('n', { alias: 'host', describe: '设置主机名', type: 'string', default: config.host }) .option('c', { alias: 'cors', describe: '是否允许跨域', type: 'string', default: config.cors }) .option('v', { alias: 'version', type: 'string' }) .example('yg-server -p 8000 -o localhost', '在根目录开启监听8000端口的静态服务器') .help('h').argv; const server = new StaticServer(options); server.start();
入口文件
最后回到根目录下的index.js,将我们的模块导出,这样可以在根目录下通过node index来调试
module.exports = require('./bin/static-server');
配置命令
配置命令非常简单,进入到package.json文件里
加入一句话
"bin": { "yg-server": "bin/static-server.js" },
yg-server是启动该服务器的命令,可以自己定义
然后执行npm link生成一个符号链接文件
这样你就可以通过命令来执行自己的服务器了
或者将包托管到npm上,然后全局安装,在任何目录下你都可以通过你设置的命令来开启一个静态服务器,在我们平时总会需要这样一个静态服务器
总结
写到这里基本上就写完了,另外还有几个模版文件,是用来在客户端展示的,可以看我的github,我就不贴了,只是一些html而已,你也可以自己设置,这个博客写多了是在是太卡了,字都打不动了。