{"id":611,"date":"2021-04-19T15:22:37","date_gmt":"2021-04-19T07:22:37","guid":{"rendered":"http:\/\/blog.viter.top\/?p=611"},"modified":"2021-04-19T15:22:37","modified_gmt":"2021-04-19T07:22:37","slug":"nestjs-%e4%b8%ad%e4%bd%bf%e7%94%a8%e6%a8%a1%e6%9d%bf%e5%bc%95%e6%93%8e%e5%92%8c%e9%85%8d%e7%bd%ae%e9%9d%99%e6%80%81%e8%b5%84%e6%ba%90","status":"publish","type":"post","link":"https:\/\/blog.viter.top\/index.php\/2021\/04\/19\/nestjs-%e4%b8%ad%e4%bd%bf%e7%94%a8%e6%a8%a1%e6%9d%bf%e5%bc%95%e6%93%8e%e5%92%8c%e9%85%8d%e7%bd%ae%e9%9d%99%e6%80%81%e8%b5%84%e6%ba%90\/","title":{"rendered":"Nestjs \u4e2d\u4f7f\u7528\u6a21\u677f\u5f15\u64ce\u548c\u914d\u7f6e\u9759\u6001\u8d44\u6e90"},"content":{"rendered":"\n<p>1\u3001NestJS \u4e2d\u914d\u7f6e\u9759\u6001\u8d44\u6e90<br>\u5b98\u65b9\u6587\u6863\uff1ahttps:\/\/docs.nestjs.com\/techniques\/mvc<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>app.useStaticAssets('public');<\/code><\/pre>\n\n\n\n<p>\u5b8c\u6574\u4ee3\u7801\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>import { NestFactory } from '@nestjs\/core';\r\nimport { AppModule } from '.\/app.module';\r\nimport { NestExpressApplication } from '@nestjs\/platform-express';\r\nasync function bootstrap() {\r\nconst app = await NestFactory.create&lt;NestExpressApplication>(AppModule);\r\napp.useStaticAssets('public');\r\nawait app.listen(3000);\r\n}\r\nbootstrap();<\/code><\/pre>\n\n\n\n<p>\u5728\u6839\u76ee\u5f55\u65b0\u5efa public \u76ee\u5f55\uff0c\u7136\u540e\u5728\u76ee\u5f55\u91cc\u9762\u4fdd\u5b58\u4e00\u4e2a\u56fe\u7247\u6bd4\u5982 1.jpg\uff0c\u8fd9\u6837\u5c31\u53ef\u4ee5\u901a\u8fc7<br>http:\/\/localhost:3000\/1.jpg \u6765\u8bbf\u95ee\u56fe\u7247\u3002<br>\u6211\u4eec\u4e5f\u53ef\u4ee5\u914d\u7f6e\u865a\u62df\u76ee\u5f55\uff0c\u6bd4\u5982\u6211\u4eec\u60f3\u901a\u8fc7 http:\/\/localhost:3000\/static\/1.jpg \u6765\u8bbf\u95ee<br>public \u76ee\u5f55\u91cc\u9762\u7684\u6587\u4ef6\uff0c\u8fd9\u65f6\u5019\u4ee3\u7801\u5982\u4e0b\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>app.useStaticAssets(join(__dirname, '..', 'public'),{\r\nprefix: '\/static\/', \/\/\u8bbe\u7f6e\u865a\u62df\u8def\u5f84\r\n});<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>import { NestFactory } from '@nestjs\/core';\r\nimport { AppModule } from '.\/app.module';\r\nimport { NestExpressApplication } from '@nestjs\/platform-express';\r\nimport {join} from 'path';\r\nasync function bootstrap() {\r\nconst app = await NestFactory.create&lt;NestExpressApplication>(AppModule);\r\n\/\/ app.useStaticAssets('public');\r\napp.useStaticAssets(join(__dirname, '..', 'public'),{\r\nprefix: '\/static\/', \/\/\u8bbe\u7f6e\u865a\u62df\u8def\u5f84\r\n});\r\nawait app.listen(3000);\r\n}\r\nbootstrap();<\/code><\/pre>\n\n\n\n<p>2\u3001NestJS \u4e2d\u914d\u7f6e\u6a21\u677f\u5f15\u64ce<br>\u5b98\u65b9\u6587\u6863\uff1ahttps:\/\/docs.nestjs.com\/techniques\/mvc<br>1\u3001\u5b89\u88c5\u5bf9\u5e94\u7684\u6a21\u677f\u5f15\u64ce \u6bd4\u5982 ejs<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>cnpm i ejs --save<\/code><\/pre>\n\n\n\n<p>2\u3001\u914d\u7f6e\u6a21\u677f\u5f15\u64ce<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>app.setBaseViewsDir(join(__dirname, '..', 'views')) \/\/ \u653e\u89c6\u56fe\u7684\u6587\u4ef6\r\napp.setViewEngine('ejs');<\/code><\/pre>\n\n\n\n<p>\u5b8c\u6574\u4ee3\u7801\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>import { NestFactory } from '@nestjs\/core';\r\nimport { AppModule } from '.\/app.module';\r\nimport { NestExpressApplication } from '@nestjs\/platform-express';\r\nimport {join} from 'path';\r\nasync function bootstrap() {\r\nconst app = await NestFactory.create&lt;NestExpressApplication>(AppModule);\r\n\/\/ app.useStaticAssets('public');\r\napp.useStaticAssets(join(__dirname, '..', 'public'),{\r\nprefix: '\/static\/', \/\/\u8bbe\u7f6e\u865a\u62df\u8def\u5f84\r\n});\r\napp.setBaseViewsDir(join(__dirname, '..', 'views')) \/\/ \u653e\u89c6\u56fe\u7684\u6587\u4ef6\r\napp.setViewEngine('ejs');\r\nawait app.listen(3000);\r\n}\r\nbootstrap();<\/code><\/pre>\n\n\n\n<p>3\u3001\u6e32\u67d3\u9875\u9762<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>import { Get, Controller, Render } from '@nestjs\/common';\r\n\r\n@Controller()\r\nexport class AppController { @Get()\r\n@Render('index') root() {\r\nreturn { message: 'Hello world!' };\r\n}\r\n}\r\n<\/code><\/pre>\n\n\n\n<p>4\u3001\u9879\u76ee\u6839\u76ee\u5f55\u65b0\u5efa views \u76ee\u5f55\u7136\u540e\u65b0\u5efa index.ejs<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;!DOCTYPE html>\r\n&lt;html lang=\"en\">\r\n&lt;head>\r\n&lt;meta charset=\"UTF-8\">\r\n&lt;meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\r\n&lt;meta http-equiv=\"X-UA-Compatible\" content=\"ie=edge\">\r\n&lt;title>Document&lt;\/title>\r\n3\u3001NestJS \u4e2d\u6a21\u677f\u5f15\u64ce\u7ed3\u5408 Post \u6f14\u793a\u3001\u4ee5\u53ca\u8def\u7531\u8df3\u8f6c\r\n\u770b\u6559\u7a0b\u6f14\u793a\r\n\u6a21\u677f\r\n&lt;\/head>\r\n&lt;body>\r\n\u8fd9\u662f ejs \u6f14\u793a\u4ee3\u7801\r\n&lt;br>\r\n&lt;%=message%>\r\n&lt;\/body>\r\n&lt;\/html><\/code><\/pre>\n\n\n\n<p>3\u3001NestJS \u4e2d\u6a21\u677f\u5f15\u64ce\u7ed3\u5408 Post \u6f14\u793a\u3001\u4ee5\u53ca\u8def\u7531\u8df3\u8f6c<br><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>import { Controller, Get, Post, Body,Response, Render} from '@nestjs\/common';\r\n@Controller('user')\r\nexport class UserController {\r\n@Get()\r\n@Render('default\/user')\r\nindex(){\r\nreturn {\"name\":\"\u5f20\u4e09\"};\r\n}\r\n@Post('doAdd')\r\ndoAdd(@Body() body,@Response() res){\r\nconsole.log(body);\r\nres.redirect('\/user'); \/\/\u8def\u7531\u8df3\u8f6c\r\n}\r\n}<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;!DOCTYPE html>\r\n&lt;html lang=\"en\">\r\n&lt;head>\r\n&lt;meta charset=\"UTF-8\">\r\n&lt;meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\r\n&lt;meta http-equiv=\"X-UA-Compatible\" content=\"ie=edge\">\r\n&lt;title>Document&lt;\/title>\r\n&lt;link rel=\"stylesheet\" href=\"\/static\/base.css\">\r\n&lt;\/head>\r\n&lt;body>\r\n&lt;img src=\"\/static\/1.png\" alt=\"\" \/>\r\n&lt;br>\r\n&lt;form action=\"\/user\/doAdd\" method=\"post\">\r\n&lt;input type=\"text\" name=\"username\" placeholder=\"\u8bf7\u8f93\u5165\u7528\u6237\u540d\" \/>\r\n&lt;br>\r\n&lt;br>\r\n&lt;input type=\"text\" name=\"age\" placeholder=\"\u5e74\u9f84\" \/>\r\n&lt;br>\r\n&lt;br>\r\n&lt;input type=\"submit\" value=\"\u63d0\u4ea4\">\r\n&lt;\/form>\r\n&lt;\/body>\r\n&lt;\/html><\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>1\u3001NestJS \u4e2d\u914d\u7f6e\u9759\u6001\u8d44\u6e90\u5b98\u65b9\u6587\u6863\uff1ahttps:\/\/docs.nestjs.com\/techniques\/mvc \u5b8c\u6574\u4ee3\u7801\uff1a &#8230;<\/p>","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[1],"tags":[16],"_links":{"self":[{"href":"https:\/\/blog.viter.top\/index.php\/wp-json\/wp\/v2\/posts\/611"}],"collection":[{"href":"https:\/\/blog.viter.top\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.viter.top\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.viter.top\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.viter.top\/index.php\/wp-json\/wp\/v2\/comments?post=611"}],"version-history":[{"count":1,"href":"https:\/\/blog.viter.top\/index.php\/wp-json\/wp\/v2\/posts\/611\/revisions"}],"predecessor-version":[{"id":612,"href":"https:\/\/blog.viter.top\/index.php\/wp-json\/wp\/v2\/posts\/611\/revisions\/612"}],"wp:attachment":[{"href":"https:\/\/blog.viter.top\/index.php\/wp-json\/wp\/v2\/media?parent=611"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.viter.top\/index.php\/wp-json\/wp\/v2\/categories?post=611"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.viter.top\/index.php\/wp-json\/wp\/v2\/tags?post=611"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}