<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title>Xin&#39;Blog</title>
  
  
  <link href="https://www.joexin.cn/atom.xml" rel="self"/>
  
  <link href="https://www.joexin.cn/"/>
  <updated>2026-05-09T01:49:25.313Z</updated>
  <id>https://www.joexin.cn/</id>
  
  <author>
    <name>Joe Xin</name>
    
  </author>
  
  <generator uri="https://hexo.io/">Hexo</generator>
  
  <entry>
    <title>Nest使用</title>
    <link href="https://www.joexin.cn/2025/06/04/nest/"/>
    <id>https://www.joexin.cn/2025/06/04/nest/</id>
    <published>2025-06-03T16:00:00.000Z</published>
    <updated>2026-05-09T01:49:25.313Z</updated>
    
    <content type="html"><![CDATA[<h4 id="安装-Node-js-和-npm"><a href="#安装-Node-js-和-npm" class="headerlink" title="安装 Node.js 和 npm"></a>安装 Node.js 和 npm</h4><p>首先，确保你的系统上安装了 Node.js 和 npm。你可以通过在终端或命令提示符中运行以下命令来检查它们是否已安装：</p><p><code>node -v npm -v</code></p><p>如果未安装，请从 Node.js 官网 下载并安装。</p><h4 id="安装-Nest-CLI"><a href="#安装-Nest-CLI" class="headerlink" title="安装 Nest CLI"></a>安装 Nest CLI</h4><p>Nest CLI 是一个命令行工具，用于快速创建和管理 NestJS 项目。安装完成后，你可以使用它来生成项目、服务和控制器等。</p><p><code>npm i -g @nestjs/cli</code></p><p>创建一个新的 Nest 项目<br>使用 Nest CLI 创建一个新的项目：</p><p><code>nest new project-name</code></p><p>将 project-name 替换为你的项目名称。这将创建一个新的目录，并在其中生成一个基本的 NestJS 项目结构。</p><p>启动开发服务器<br>进入项目目录并启动开发服务器：</p><p><code>cd project-name  npm run start </code></p><p>现在，你可以在浏览器中访问 <a href="http://localhost:3000，你应该会看到一个欢迎页面。">http://localhost:3000，你应该会看到一个欢迎页面。</a></p><p>创建控制器<br>使用 Nest CLI 生成一个新的控制器：</p><p><code>nest g controller users</code></p><p>这个命令将创建一个名为 users 的控制器，并生成相应的路由和控制器逻辑。</p><p>创建服务</p><p>使用 Nest CLI 生成一个新的服务：</p><p><code>nest g service users</code></p><p>这个命令将创建一个名为 users 的服务，并生成相应的服务逻辑。</p>]]></content>
    
    
      
      
    <summary type="html">&lt;h4 id=&quot;安装-Node-js-和-npm&quot;&gt;&lt;a href=&quot;#安装-Node-js-和-npm&quot; class=&quot;headerlink&quot; title=&quot;安装 Node.js 和 npm&quot;&gt;&lt;/a&gt;安装 Node.js 和 npm&lt;/h4&gt;&lt;p&gt;首先，确保你的系统上安装了 </summary>
      
    
    
    
    
    <category term="后台" scheme="https://www.joexin.cn/tags/%E5%90%8E%E5%8F%B0/"/>
    
  </entry>
  
  <entry>
    <title>Vue路由使用以及参数传递</title>
    <link href="https://www.joexin.cn/2020/03/10/vue-router/"/>
    <id>https://www.joexin.cn/2020/03/10/vue-router/</id>
    <published>2020-03-09T16:00:00.000Z</published>
    <updated>2026-05-09T01:49:25.322Z</updated>
    
    <content type="html"><![CDATA[<h3 id="Vue路由使用以及参数传递"><a href="#Vue路由使用以及参数传递" class="headerlink" title="Vue路由使用以及参数传递"></a>Vue路由使用以及参数传递</h3><ul><li><p>安装</p><ul><li>npm install vue-router</li></ul></li><li><p>简单操作使用</p>  <figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><span class="line">import Vue from &#x27;vue&#x27;</span><br><span class="line">import VueRouter from &#x27;vue-router&#x27;</span><br><span class="line"></span><br><span class="line">Vue.use(VueRouter)</span><br></pre></td></tr></table></figure></li><li><p>vue-router操作使用分解</p>  <figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br></pre></td><td class="code"><pre><span class="line">&lt;div id=&quot;app&quot;&gt;</span><br><span class="line">    &lt;h1&gt;Hello App!&lt;/h1&gt;</span><br><span class="line">    &lt;p&gt;</span><br><span class="line">        &lt;!-- 使用 router-link 组件来导航，通过传入 `to` 属性指定链接，&lt;router-link&gt; 默认会被渲染成一个 `&lt;a&gt;` 标签 --&gt;</span><br><span class="line">        &lt;router-link to=&quot;/foo&quot;&gt;Go to Foo&lt;/router-link&gt;</span><br><span class="line">        &lt;router-link to=&quot;/bar&quot;&gt;Go to Bar&lt;/router-link&gt;</span><br><span class="line">    &lt;/p&gt;</span><br><span class="line">    &lt;!-- 路由出口，路由匹配到的组件将渲染在这里 --&gt;</span><br><span class="line">    &lt;router-view&gt;&lt;/router-view&gt;</span><br><span class="line">&lt;/div&gt;</span><br></pre></td></tr></table></figure></li><li><p>定义路由 每个路由即为一个组件</p>  <figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><span class="line">const routes = [</span><br><span class="line">    &#123; path: &#x27;/foo&#x27;, component: Foo &#125;,</span><br><span class="line">    &#123; path: &#x27;/bar&#x27;, component: Bar &#125;</span><br><span class="line">]</span><br></pre></td></tr></table></figure></li><li><p>创建router实例</p>  <figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><span class="line">const router = new VueRouter(&#123;</span><br><span class="line">    routes // （缩写）相当于 routes: routes</span><br><span class="line">&#125;)</span><br></pre></td></tr></table></figure></li><li><p>创建和挂载根实例</p>  <figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><span class="line">const app = new Vue(&#123;</span><br><span class="line">　　el:&#x27;#app&#x27;,</span><br><span class="line">　　router</span><br><span class="line">&#125;)  </span><br></pre></td></tr></table></figure></li><li><p>vue-router默认是hash模式,url:<a href="http://localhost:8000/#/hello">http://localhost:8000/#/hello</a><br> 如果想取消掉#,可以使用history模式，这样可以利用 history.pushState API完成url跳转无需重新加载页面</p>  <figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><span class="line">const router = new VueRouter(&#123;</span><br><span class="line">    mode: &#x27;history&#x27;,</span><br><span class="line">    routes: [...]</span><br><span class="line">&#125;)</span><br></pre></td></tr></table></figure><p>那么url::<a href="http://localhost:8000/hello">http://localhost:8000/hello</a><br>如果使用history模式,服务器端需要进行一些配置才可以,否则直接访问带参数的路由地址会返回404</p></li><li><p>一些服务器端的配置</p></li><li><p>apache 需要修改配置<br>在项目目录下新建.htaccess文件(跟index.html同级)</p> <figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br></pre></td><td class="code"><pre><span class="line">&lt;IfModule mod_rewrite.c&gt;</span><br><span class="line">    RewriteEngine On</span><br><span class="line">    RewriteBase /ibms/</span><br><span class="line">    RewriteRule ^index\.html$ - [L]</span><br><span class="line">    RewriteCond %&#123;REQUEST_FILENAME&#125; !-f</span><br><span class="line">    RewriteCond %&#123;REQUEST_FILENAME&#125; !-d</span><br><span class="line">    RewriteRule . /ibms/index.html [L]</span><br><span class="line">&lt;/IfModule&gt;</span><br></pre></td></tr></table></figure><p> 记得重启apache服务器</p></li><li><p>nginx</p> <figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><span class="line">location / &#123;</span><br><span class="line">    try_files $uri $uri/ /index.html;</span><br><span class="line">&#125;</span><br></pre></td></tr></table></figure></li><li><p>IIS服务器配置 <font color=red>注意:</font>IIS需要安装重写工具</p> <figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br></pre></td><td class="code"><pre><span class="line">&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;</span><br><span class="line">&lt;configuration&gt;</span><br><span class="line">    &lt;system.webServer&gt;</span><br><span class="line">        &lt;rewrite&gt;</span><br><span class="line">        &lt;rules&gt;</span><br><span class="line">            &lt;rule name=&quot;ReactRouter&quot; patternSyntax=&quot;ECMAScript&quot; stopProcessing=&quot;true&quot;&gt;</span><br><span class="line">            &lt;match url=&quot;.*&quot; /&gt;</span><br><span class="line">            &lt;conditions&gt;</span><br><span class="line">                &lt;add input=&quot;&#123;HTTP_METHOD&#125;&quot; pattern=&quot;^GET$&quot; /&gt;</span><br><span class="line">                &lt;add input=&quot;&#123;HTTP_ACCEPT&#125;&quot; pattern=&quot;^text/html&quot; /&gt;</span><br><span class="line">                &lt;add input=&quot;&#123;REQUEST_FILENAME&#125;&quot; matchType=&quot;IsFile&quot; negate=&quot;true&quot; /&gt;</span><br><span class="line">            &lt;/conditions&gt;</span><br><span class="line">            &lt;action type=&quot;Rewrite&quot; url=&quot;/index.html&quot; /&gt;</span><br><span class="line">            &lt;/rule&gt;</span><br><span class="line">        &lt;/rules&gt;</span><br><span class="line">        &lt;/rewrite&gt;</span><br><span class="line">&lt;/system.webServer&gt;</span><br><span class="line">&lt;/configuration&gt;</span><br></pre></td></tr></table></figure></li></ul><pre><code>为了防止404报错信息,可以在路由中配置    <figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br></pre></td><td class="code"><pre><span class="line">const router = new VueRouter(&#123;</span><br><span class="line">    mode: &#x27;history&#x27;,</span><br><span class="line">    routes: [</span><br><span class="line">        &#123; path: &#x27;*&#x27;, component: NotFoundComponent &#125;</span><br><span class="line">    ]</span><br><span class="line">&#125;)</span><br></pre></td></tr></table></figure></code></pre><ul><li><p>重定向和别名</p><ul><li>重定向通过 routes 配置来完成，下面例子是从 &#x2F;a 重定向到 &#x2F;b</li></ul>  <figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br></pre></td><td class="code"><pre><span class="line">const router = new VueRouter(&#123;</span><br><span class="line">    routes: [</span><br><span class="line">        &#123; path: &#x27;/a&#x27;, redirect: &#x27;/b&#x27; &#125;</span><br><span class="line">    ]</span><br><span class="line">&#125;)</span><br></pre></td></tr></table></figure><p>  重定向的目标也可以是一个命名的路由：<br>  <figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br></pre></td><td class="code"><pre><span class="line">const router = new VueRouter(&#123;</span><br><span class="line">    routes: [</span><br><span class="line">        &#123; path: &#x27;/a&#x27;, redirect: &#123; name: &#x27;foo&#x27; &#125;&#125;</span><br><span class="line">    ]</span><br><span class="line">&#125;)</span><br></pre></td></tr></table></figure></p></li></ul>]]></content>
    
    
      
      
    <summary type="html">&lt;h3 id=&quot;Vue路由使用以及参数传递&quot;&gt;&lt;a href=&quot;#Vue路由使用以及参数传递&quot; class=&quot;headerlink&quot; title=&quot;Vue路由使用以及参数传递&quot;&gt;&lt;/a&gt;Vue路由使用以及参数传递&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;p&gt;安装&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;n</summary>
      
    
    
    
    
    <category term="es6" scheme="https://www.joexin.cn/tags/es6/"/>
    
  </entry>
  
</feed>
