# netfile

> Node Action in iMooc

Latest version **1.0.0** (published 2018-07-22) · MIT license · 0 weekly downloads

## Install

```sh
npm install netfile
pnpm add netfile
yarn add netfile
bun add netfile
```

Provides the command `netfile`.

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.0.0 |
| Published | 2018-07-22 |
| First published | 2018-07-22 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 3 |
| Unpacked size | 60.9 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 0 |
| Author | Erchoc |
| Maintainers | erchoc |

## Links

- npm: https://www.npmjs.com/package/netfile
- Repository: https://github.com/Erchoc/netfile
- Homepage: https://github.com/Erchoc/netfile#readme
- Issues: https://github.com/Erchoc/netfile/issues
- npm.io page: https://npm.io/package/netfile

## Dependencies (3)

- [chalk](https://npm.io/package/chalk.md) ^2.4.1
- [yargs](https://npm.io/package/yargs.md) ^12.0.1
- [handlebars](https://npm.io/package/handlebars.md) ^4.0.11

## Recent versions

- 1.0.0 (latest) — 2018-07-22

## README

# NodeJS入门到企业Web开发中的应用

> 由于项目使用了ESLint和Supervisor，请先执行下面的`npm本地工具`。慕课网实战视频教程：https://coding.imooc.com/class/package/146.html

### netfile资静态资源服务器CLI工具

    1. 管理文件
    2. 自动打开管理页面
    3. 兼容macos和windows
    4. 多种命令参数可选
    5. 缓存方案

### CLI工具封装

    1. npm i -g netfile # 把当前文件夹当作静态资源服务区根目录 
    2. netfile -p 8080 # 设置端口号
    3. netfile -h localhost # 设置主机ip
    4. netfile -d /usr/ # 设置跟目录为/usr
    5. netfile -c # 是否使用缓存方案 
    
### npm本地工具

    1. npm i -g eslint,supervisor
    2. npm i -g babel-eslint -D
    
### 深入学习内容

    1. Stream(fs/http)
    2. Express/Koa/egg
    3. child_process/Cluster集群
    4. through2
    5. SSR/同构
    6. NodeJS源码
    
### CommonJS: NodeJS自带的模块管理规范

    1. 每个文件都是一个模块，有自己的作用域；
    2. 在模块内部，module 变量代表模块本身；
    3. module.exports 属性代表模块对外提供的接口

### require规则

    1. / 表示根目录绝对路径，./ 表示当前文件所在目录；
    2. 支持 js,json,node 拓展名，不写则依次尝试；
    3. 不写路径则认为该模块是 nodeJS 内建模块或向上各级 node_module 下第三方模块

### require特性

    1. module 被加载的时候执行，加载后缓存；
    2. 如果某个模块被循环依赖，就只输出已执行的部分，未执行的部分不会输出； 
    3. node_modules 并没有把子依赖放在依赖包的原因是为了提高性能

### module.exports 和 exports 的区别
    
    exports是 module.exports 的快捷方式, 如 const exports = module.exports；
    注意exports的指向问题，不能修改。因为exports指向的永远是moudle.exports
    
### fs文件系统增删改查

    1. fsUpdate.readFile/fsUpdate.readFileSync
    2. 
    3. 
    
### global全局对象(无window对象)

    1. CommonJS,Buffer,Process,Console,Timer,SetImmediate；
    2. global.xxx相当于直接把xxx暴露给所有模块；
    3. 模块中直接写const是局部变量，写global是全局变量
    4. global.setImmediate(() => {xxx})事件队列执行顺序(3)

### global.process进程模块

    1. process可以获取主机环境的各种信息；
    2. process.nextTick(() => {xxx})事件队列执行顺序(1)
    3. setTimeout(() => {xxx})事件队列执行顺序(2)
    
### 利用node Inspect 命令和 Chrome 进行调试学习

    1. 
    2. 
    3. 
    
### 内建模块之path

    1. __dirname和__filename总是返回文件的绝对路径
    2. process.cwd()总是返回node命令所在的文件夹
    3. 在require方法中总是相对当前文件所在文件夹
    4. 在其他地方和process.cwd()一样，相对node启动文件夹

### 全局变量之global.buffer

    1. Buffer用于处理二进制数据流
    2. 实例类似整数数组，大小固定(0-255十六进制)
    3. C++代码在V8引擎堆外分配物理内存

### 内建模块之event事件

    1. 
    2. 
    3. 

### 回调地狱之ES6的promise


### 回调地狱之ES7的async await

    1. 引入 util.promisify 处理异步回调
    2. 异步方法使用 const xxx = promisify(zzz.xxx) 转为同步方法
    3. 异步方法调用前使用 await 关键字

### .gitignore

    1. 匹配模式前加 / 代表项目根目录
    2. 匹配模式最后加 / 代表是目录
    3. 匹配模式前加 ! 代表取反
    4. * 代表任意字符，? 代表匹配一个字符， ** 代表匹配多级目录
    
### pre-commit模块：不符合ESLint就不让push
  
    1. 每次git commit会验证ESlint规则并自动修复一部分内容
    2. 自动修复不了的内容会报错，需要手动修改后再次commit

### supervise和pm2管理监视node程序

    1. npm i -g supervisor pm2
    2. 修改服务端代码不需要重启node程序了

### 模板引擎HandleBars

    1. 安装：npm i handlebars

### 缓存Header方案

    1. Expires / Cache-Control
    2. If-Modified / Last-Modified
    3. If-None-Match / ETag

### node命令参数

    1. yargs和commander的对比
    2. 
    3. 
    
### 发布npm包的流程

    1. 
    2. 
    3.

---
_Source: https://npm.io/package/netfile · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
