安装nest
npx @nestjs/cli new demo
在 powershell运行
1.npm i -g @nestjs/cli
查看版本
nest -v
2.新建项目
nest new project-name
安装成功 Thanks for installing Nest
3.打开文件夹 选择自己的项目
自动生成controller service module main spec
4.执行 npm start
浏览器执行 http://localhost:3000
查看自己的
npm -v
node -v
nest -v
5.连接数据库
将生成的app.modeule改为自己工程user.mouder
@Module({
imports: [
TypeOrmModule.forFeature([UserAppAccount]),
TypeOrmModule.forFeature([AppM]),
TypeOrmModule.forFeature([BusinessM]),
],
providers: [UserService],
controllers: [UserController],
})
export class UserModule {}
再创建app.module连接数据库
imports: [
UserModule,
TypeOrmModule.forRoot({
type: 'postgres',
host: 'localhost',
port: 1234,
username: 'postgres',
password: '123456',
database: 'eap',
entities: [`dist/src/entity/*{.ts,.js}`],
// 自动载入实体
// autoLoadEntities: true,
synchronize: true,
}),
UserModule,
],
最重要的参数 entities: [`dist/src/entity/*{.ts,.js}`],
一定要是自己的路径 实在不行 复制路径
执行 安装typrorm
npm install @nestjs/typeorm --save
npm install postgres --save(postgres有的是mysql)
npm install typeorm --save
npm install pg --save
6.不支持import和export?
npm install -g es-checker
查看 es-checker
安装bable
配置Babel编译器:在项目根目录下创建一个.babelrc文件,内容如下:
{
"presets": ["es2015"]
}
编译ES6文件:使用Babel编译器编译ES6文件,babel xxx.js -o xxx.js
使用Webpack模块打包工具
安装Webpack:使用npm安装Webpack,npm install --save-dev webpack
配置Webpack:在项目根目录下创建一个webpack.config.js文件,内容如下:
module.exports = {
entry: './src/index.js',
output: {
filename: 'bundle.js'
},
module: {
loaders: [
{
test: /\.js$/,
loader: 'babel-loader',
query: {
presets: ['es2015']
}
}
]
}
};
npm install --save-dev babel-cli babel-preset-stage-2 bable-preset-es2015 babel-plugin-transform-runtime
1、npm init
2、npm install --save-dev babel-cli
3、npm install --save-dev babel-preset-env
4、npm install --save-dev babel-preset-es2015
5、 npm install --save-dev babel-preset-stage-2
6、npm run build
7.练习 自动生成crud
nest g resource命令
不仅仅生成所有Nestjs构件模块(模块,服务,控制器类)也生成实体类,DTO类和测试(.spec)文件。
PS D:\git3\demo> nest g resource
? What name would you like to use for this resource (plural, e.g., "users")? accounts
? What transport layer do you use? REST API
? Would you like to generate CRUD entry points? Yes