简单解析nestJS目录
使用Nest CLI设置新项目非常简单 。只需确保 安装了npm,然后在OS终端中使用以下命令:
$ npm i -g @nestjs/cli $ nest new project-name $ cd project $ npm install $ npm run start
生成的文件如下:
prettier
是一个格式化工具, 强制规范代码格式 , 比如 JSON最后一行是否允许带逗号, 用单引号还是双引号等等
nodemon是用来监视node.js应用程序中的任何更改并自动重启服务, 简单说就是将监视启动目录中的文件,如果有任何文件更改,nodemon将自动重新启动node应用程序。
nodemon不需要对代码或开发方式进行任何更改。 nodemon只是简单的包装你的node应用程序,并监控任何已经改变的文件。nodemon只是node的替换包
,只是在运行脚本时将其替换命令行上的node。
//全局安装 npm install -g nodemon //启动应用 nodemon [your node app] //使用帮助 nodemon -h 或者 nodemon --help //如果没有在应用中指定主机和端口,可以在命令中指定: nodemon ./server.js localhost 8080 //开启debug模式 nodemon --debug ./server.js 80
如果nodemon依赖已经加载好了 可以采用npm script的编写, 然后我们可以使用命令行npm run run来启动程序 :
"scripts": { "start": "node bin/www", "pm2": "pm2 start bin/www ", "run":"./node_modules/.bin/nodemon bin/www", //手动加粗 "test": "echo \"Error: no test specified\" && exit 1" }
package-lock.json 其实用一句话来概括很简单,就是锁定安装时的包的版本号,并且需要上传到git,以保证其他人在npm install时大家的依赖能保证一致 , npm install xxx@x.x.x 这样去更新我们的依赖,然后package-lock.json也能随之更新。
package.json文件,定义了这个项目所需要的各种模块,以及项目的配置信息(比如名称、版本、许可证等元数据)。npm install命令根据这个配置文件,自动下载所需的模块,也就是配置项目所需的运行和开发环境。
tsconfig.json意味着这个目录是TypeScript项目的根目录。tsconfig.json
文件中指定了用来编译这个项目的根文件和编译选项。
{ "compilerOptions": { //compilerOptions:编译选项,可以被忽略,这时编译器会使用默认值 "module": "commonjs", //指定生成哪个模块系统代码 "declaration": false, "noImplicitAny": true, //不允许any类型 "removeComments": true, //编译成JS时,去除注释 "noLib": false, "allowSyntheticDefaultImports": true, //允许从没有设置默认导出的模块中默认导入。这并不影响代码的显示,仅为了类型检查。 "emitDecoratorMetadata": true, //给源码里的装饰器声明加上设计类型元数据 "experimentalDecorators": true, ///启用实验性的ES装饰器 "target": "es6", //输出文件的格式 "sourceMap": true, //用于debug ,生成相应的.map文件 "allowJs": true, // "outDir": "./dist", //输出JS文件目录 "baseUrl": "./src" //解析非相对模块名的基准目录 }, "include": [ //包含编译的文件目录 "src/**/*" ], "exclude": [ //排除的需要编译的文件目录 "node_modules", "**/*.spec.ts" ] }
待续~