UNPKG

@shixinde/vuepress-theme-init

Version:
80 lines (79 loc) 25.1 kB
import{_ as s,c as n,o as a,a as p}from"./app-Dx9bNbfq.js";const t={},e=p(`<h2 id="设置-为src目录" tabindex="-1"><a class="header-anchor" href="#设置-为src目录"><span>设置@为Src目录</span></a></h2><blockquote><p>先安装一个包 <code>cnpm i - D @types/node</code>用来解决<code>path</code>报错</p></blockquote><div class="language-tsx line-numbers-mode" data-highlighter="prismjs" data-ext="tsx" data-title="tsx"><pre class="language-tsx"><code><span class="line"><span class="token keyword">import</span> <span class="token punctuation">{</span> defineConfig <span class="token punctuation">}</span> <span class="token keyword">from</span> <span class="token string">&#39;vite&#39;</span></span> <span class="line"><span class="token keyword">import</span> react <span class="token keyword">from</span> <span class="token string">&#39;@vitejs/plugin-react&#39;</span></span> <span class="line"><span class="token keyword">import</span> path <span class="token keyword">from</span> <span class="token string">&#39;path&#39;</span></span> <span class="line"></span> <span class="line"><span class="token keyword">export</span> <span class="token keyword">default</span> <span class="token function">defineConfig</span><span class="token punctuation">(</span><span class="token punctuation">{</span></span> <span class="line"> plugins<span class="token operator">:</span> <span class="token punctuation">[</span><span class="token function">react</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">]</span><span class="token punctuation">,</span></span> <span class="line"> resolve<span class="token operator">:</span> <span class="token punctuation">{</span></span> <span class="line"> alias<span class="token operator">:</span> <span class="token punctuation">{</span></span> <span class="line"> <span class="token string-property property">&#39;@&#39;</span><span class="token operator">:</span>path<span class="token punctuation">.</span><span class="token function">resolve</span><span class="token punctuation">(</span>__dirname<span class="token punctuation">,</span><span class="token string">&#39;./src&#39;</span><span class="token punctuation">)</span></span> <span class="line"> <span class="token punctuation">}</span></span> <span class="line"> <span class="token punctuation">}</span></span> <span class="line"><span class="token punctuation">}</span><span class="token punctuation">)</span></span> <span class="line"></span> <span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><blockquote><h2 id="输入-不能自动识别路径" tabindex="-1"><a class="header-anchor" href="#输入-不能自动识别路径"><span>输入 @/ 不能自动识别路径</span></a></h2><p><code>tsconfig.json</code> 中 添加如下代码</p></blockquote><div class="language-javascript line-numbers-mode" data-highlighter="prismjs" data-ext="js" data-title="js"><pre class="language-javascript"><code><span class="line"><span class="token punctuation">{</span></span> <span class="line"> <span class="token string-property property">&quot;compilerOptions&quot;</span><span class="token operator">:</span> <span class="token punctuation">{</span></span> <span class="line"> <span class="token string-property property">&quot;baseUrl&quot;</span><span class="token operator">:</span> <span class="token string">&quot;./&quot;</span><span class="token punctuation">,</span></span> <span class="line"> <span class="token string-property property">&quot;paths&quot;</span><span class="token operator">:</span> <span class="token punctuation">{</span></span> <span class="line"> <span class="token string-property property">&quot;@/*&quot;</span><span class="token operator">:</span> <span class="token punctuation">[</span><span class="token string">&quot;src/*&quot;</span><span class="token punctuation">]</span></span> <span class="line"> <span class="token punctuation">}</span></span> <span class="line"> <span class="token punctuation">}</span><span class="token punctuation">,</span></span> <span class="line"><span class="token punctuation">}</span></span> <span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h2 id="路由配置流程-带懒加载" tabindex="-1"><a class="header-anchor" href="#路由配置流程-带懒加载"><span>路由配置流程(带懒加载)</span></a></h2><blockquote><h3 id="router-js" tabindex="-1"><a class="header-anchor" href="#router-js"><span>router.js</span></a></h3></blockquote><div class="language-javascript line-numbers-mode" data-highlighter="prismjs" data-ext="js" data-title="js"><pre class="language-javascript"><code><span class="line"><span class="token keyword">import</span> React<span class="token punctuation">,</span> <span class="token punctuation">{</span> lazy <span class="token punctuation">}</span> <span class="token keyword">from</span> <span class="token string">&quot;react&quot;</span><span class="token punctuation">;</span></span> <span class="line"><span class="token keyword">import</span> <span class="token punctuation">{</span> Navigate <span class="token punctuation">}</span> <span class="token keyword">from</span> <span class="token string">&quot;react-router-dom&quot;</span><span class="token punctuation">;</span></span> <span class="line"><span class="token comment">// import About from &quot;../views/About&quot;;</span></span> <span class="line"><span class="token keyword">import</span> Home <span class="token keyword">from</span> <span class="token string">&quot;../views/Home&quot;</span><span class="token punctuation">;</span></span> <span class="line"><span class="token keyword">const</span> About <span class="token operator">=</span> <span class="token function">lazy</span><span class="token punctuation">(</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token operator">=&gt;</span> <span class="token keyword">import</span><span class="token punctuation">(</span><span class="token string">&quot;../views/About&quot;</span><span class="token punctuation">)</span><span class="token punctuation">)</span></span> <span class="line"><span class="token comment">// const Home = lazy(() =&gt; import(&quot;../views/Home&quot;))</span></span> <span class="line"><span class="token keyword">const</span> routes <span class="token operator">=</span> <span class="token punctuation">[</span></span> <span class="line"> <span class="token punctuation">{</span></span> <span class="line"> <span class="token literal-property property">path</span><span class="token operator">:</span> <span class="token string">&#39;/&#39;</span><span class="token punctuation">,</span></span> <span class="line"> <span class="token literal-property property">element</span><span class="token operator">:</span> <span class="token operator">&lt;</span>Navigate to<span class="token operator">=</span><span class="token string">&#39;/home&#39;</span> <span class="token operator">/</span><span class="token operator">&gt;</span></span> <span class="line"> <span class="token punctuation">}</span><span class="token punctuation">,</span></span> <span class="line"> <span class="token punctuation">{</span></span> <span class="line"> <span class="token literal-property property">path</span><span class="token operator">:</span> <span class="token string">&#39;/home&#39;</span><span class="token punctuation">,</span></span> <span class="line"> <span class="token literal-property property">element</span><span class="token operator">:</span> <span class="token operator">&lt;</span>Home <span class="token operator">/</span><span class="token operator">&gt;</span></span> <span class="line"> <span class="token punctuation">}</span><span class="token punctuation">,</span></span> <span class="line"> <span class="token punctuation">{</span></span> <span class="line"> <span class="token literal-property property">path</span><span class="token operator">:</span> <span class="token string">&#39;/about&#39;</span><span class="token punctuation">,</span></span> <span class="line"> <span class="token literal-property property">element</span><span class="token operator">:</span> <span class="token operator">&lt;</span>About <span class="token operator">/</span><span class="token operator">&gt;</span></span> <span class="line"> <span class="token punctuation">}</span></span> <span class="line"><span class="token punctuation">]</span></span> <span class="line"><span class="token keyword">export</span> <span class="token keyword">default</span> routes</span> <span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><blockquote><h3 id="在main里面创建路由模式" tabindex="-1"><a class="header-anchor" href="#在main里面创建路由模式"><span>在main里面创建路由模式</span></a></h3></blockquote><div class="language-tsx line-numbers-mode" data-highlighter="prismjs" data-ext="tsx" data-title="tsx"><pre class="language-tsx"><code><span class="line"><span class="token keyword">import</span> React <span class="token keyword">from</span> <span class="token string">&#39;react&#39;</span></span> <span class="line"><span class="token keyword">import</span> ReactDOM <span class="token keyword">from</span> <span class="token string">&#39;react-dom/client&#39;</span></span> <span class="line"><span class="token keyword">import</span> <span class="token string">&#39;reset-css&#39;</span></span> <span class="line"><span class="token keyword">import</span> <span class="token string">&#39;@/assets/style/global.scss&#39;</span></span> <span class="line"><span class="token keyword">import</span> App <span class="token keyword">from</span> <span class="token string">&#39;./App&#39;</span></span> <span class="line"><span class="token keyword">import</span> <span class="token punctuation">{</span> BrowserRouter <span class="token punctuation">}</span> <span class="token keyword">from</span> <span class="token string">&#39;react-router-dom&#39;</span></span> <span class="line">ReactDOM<span class="token punctuation">.</span><span class="token function">createRoot</span><span class="token punctuation">(</span>document<span class="token punctuation">.</span><span class="token function">getElementById</span><span class="token punctuation">(</span><span class="token string">&#39;root&#39;</span><span class="token punctuation">)</span> <span class="token keyword">as</span> HTMLElement<span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">render</span><span class="token punctuation">(</span></span> <span class="line"> <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span><span class="token class-name">React.StrictMode</span></span><span class="token punctuation">&gt;</span></span><span class="token punctuation">{</span><span class="token comment">/* 严格模式 */</span><span class="token punctuation">}</span><span class="token plain-text"></span> <span class="line"> </span><span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span><span class="token class-name">BrowserRouter</span></span><span class="token punctuation">&gt;</span></span><span class="token plain-text"> </span><span class="token punctuation">{</span><span class="token comment">/* 路由模式 */</span><span class="token punctuation">}</span><span class="token plain-text"></span> <span class="line"> </span><span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span><span class="token class-name">React.Suspense</span></span> <span class="token attr-name">fallback</span><span class="token script language-javascript"><span class="token script-punctuation punctuation">=</span><span class="token punctuation">{</span><span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>div</span><span class="token punctuation">&gt;</span></span><span class="token plain-text">Loading...</span><span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>div</span><span class="token punctuation">&gt;</span></span><span class="token punctuation">}</span></span> <span class="token punctuation">&gt;</span></span><span class="token plain-text"> </span><span class="token punctuation">{</span><span class="token comment">/* 懒加载标签 */</span><span class="token punctuation">}</span><span class="token plain-text"></span> <span class="line"> </span><span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span><span class="token class-name">App</span></span> <span class="token punctuation">/&gt;</span></span><span class="token plain-text"></span> <span class="line"> </span><span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span><span class="token class-name">React.Suspense</span></span><span class="token punctuation">&gt;</span></span><span class="token plain-text"></span> <span class="line"> </span><span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span><span class="token class-name">BrowserRouter</span></span><span class="token punctuation">&gt;</span></span><span class="token plain-text"></span> <span class="line"> </span><span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span><span class="token class-name">React.StrictMode</span></span><span class="token punctuation">&gt;</span></span><span class="token punctuation">,</span></span> <span class="line"><span class="token punctuation">)</span></span> <span class="line"></span> <span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><blockquote><h3 id="app-tsx" tabindex="-1"><a class="header-anchor" href="#app-tsx"><span>App.tsx</span></a></h3></blockquote><div class="language-tsx line-numbers-mode" data-highlighter="prismjs" data-ext="tsx" data-title="tsx"><pre class="language-tsx"><code><span class="line"><span class="token keyword">import</span> React <span class="token keyword">from</span> <span class="token string">&#39;react&#39;</span></span> <span class="line"><span class="token keyword">import</span> Copm1 <span class="token keyword">from</span> <span class="token string">&#39;./components/Comp1/inedx&#39;</span></span> <span class="line"><span class="token keyword">import</span> Comp2 <span class="token keyword">from</span> <span class="token string">&#39;./components/Comp2&#39;</span></span> <span class="line"><span class="token keyword">import</span> <span class="token punctuation">{</span> useRoutes<span class="token punctuation">,</span> Link <span class="token punctuation">}</span> <span class="token keyword">from</span> <span class="token string">&#39;react-router-dom&#39;</span></span> <span class="line"><span class="token keyword">import</span> router <span class="token keyword">from</span> <span class="token string">&#39;./router&#39;</span></span> <span class="line"></span> <span class="line"></span> <span class="line"><span class="token keyword">export</span> <span class="token keyword">default</span> <span class="token keyword">function</span> <span class="token function">App</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token punctuation">{</span></span> <span class="line"> <span class="token keyword">const</span> element <span class="token operator">=</span> <span class="token function">useRoutes</span><span class="token punctuation">(</span>router<span class="token punctuation">)</span></span> <span class="line"> <span class="token keyword">return</span> <span class="token punctuation">(</span></span> <span class="line"> <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>div</span><span class="token punctuation">&gt;</span></span><span class="token plain-text"></span> <span class="line"> </span><span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>h1</span><span class="token punctuation">&gt;</span></span><span class="token plain-text"> 我是APP组件</span><span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>h1</span><span class="token punctuation">&gt;</span></span><span class="token plain-text"></span> <span class="line"> </span><span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span><span class="token class-name">Copm1</span></span> <span class="token punctuation">/&gt;</span></span><span class="token plain-text"></span> <span class="line"> </span><span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span><span class="token class-name">Comp2</span></span> <span class="token punctuation">/&gt;</span></span><span class="token plain-text"></span> <span class="line"> </span><span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span><span class="token class-name">Link</span></span> <span class="token attr-name">to</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">&#39;</span>/home<span class="token punctuation">&#39;</span></span><span class="token punctuation">&gt;</span></span><span class="token plain-text">Go home</span><span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span><span class="token class-name">Link</span></span><span class="token punctuation">&gt;</span></span><span class="token plain-text"></span> <span class="line"> </span><span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span><span class="token class-name">Link</span></span> <span class="token attr-name">to</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">&#39;</span>/About<span class="token punctuation">&#39;</span></span><span class="token punctuation">&gt;</span></span><span class="token plain-text">Go home</span><span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span><span class="token class-name">Link</span></span><span class="token punctuation">&gt;</span></span><span class="token plain-text"></span> <span class="line"> </span><span class="token punctuation">{</span>element<span class="token punctuation">}</span><span class="token plain-text"></span> <span class="line"> </span><span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>div</span><span class="token punctuation">&gt;</span></span></span> <span class="line"> <span class="token punctuation">)</span></span> <span class="line"><span class="token punctuation">}</span></span> <span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div>`,12),l=[e];function o(c,i){return a(),n("div",null,l)}const r=s(t,[["render",o],["__file","React 项目配置流程.html.vue"]]),k=JSON.parse(`{"path":"/React%E7%AC%94%E8%AE%B0/React%20%E9%A1%B9%E7%9B%AE%E9%85%8D%E7%BD%AE%E6%B5%81%E7%A8%8B.html","title":"","lang":"zh-CN","frontmatter":{},"headers":[{"level":2,"title":"设置@为Src目录","slug":"设置-为src目录","link":"#设置-为src目录","children":[]},{"level":2,"title":"路由配置流程(带懒加载)","slug":"路由配置流程-带懒加载","link":"#路由配置流程-带懒加载","children":[]}],"git":{"updatedTime":1727229103000,"contributors":[{"name":"袁果锅","email":"2914310412@qq.com","commits":1}]},"filePathRelative":"React笔记/React 项目配置流程.md","excerpt":"<h2>设置@为Src目录</h2>\\n<blockquote>\\n<p>先安装一个包 <code>cnpm i - D @types/node</code>用来解决<code>path</code>报错</p>\\n</blockquote>\\n<div class=\\"language-tsx\\" data-highlighter=\\"prismjs\\" data-ext=\\"tsx\\" data-title=\\"tsx\\"><pre class=\\"language-tsx\\"><code><span class=\\"line\\"><span class=\\"token keyword\\">import</span> <span class=\\"token punctuation\\">{</span> defineConfig <span class=\\"token punctuation\\">}</span> <span class=\\"token keyword\\">from</span> <span class=\\"token string\\">'vite'</span></span>\\n<span class=\\"line\\"><span class=\\"token keyword\\">import</span> react <span class=\\"token keyword\\">from</span> <span class=\\"token string\\">'@vitejs/plugin-react'</span></span>\\n<span class=\\"line\\"><span class=\\"token keyword\\">import</span> path <span class=\\"token keyword\\">from</span> <span class=\\"token string\\">'path'</span></span>\\n<span class=\\"line\\"></span>\\n<span class=\\"line\\"><span class=\\"token keyword\\">export</span> <span class=\\"token keyword\\">default</span> <span class=\\"token function\\">defineConfig</span><span class=\\"token punctuation\\">(</span><span class=\\"token punctuation\\">{</span></span>\\n<span class=\\"line\\"> plugins<span class=\\"token operator\\">:</span> <span class=\\"token punctuation\\">[</span><span class=\\"token function\\">react</span><span class=\\"token punctuation\\">(</span><span class=\\"token punctuation\\">)</span><span class=\\"token punctuation\\">]</span><span class=\\"token punctuation\\">,</span></span>\\n<span class=\\"line\\"> resolve<span class=\\"token operator\\">:</span> <span class=\\"token punctuation\\">{</span></span>\\n<span class=\\"line\\"> alias<span class=\\"token operator\\">:</span> <span class=\\"token punctuation\\">{</span></span>\\n<span class=\\"line\\"> <span class=\\"token string-property property\\">'@'</span><span class=\\"token operator\\">:</span>path<span class=\\"token punctuation\\">.</span><span class=\\"token function\\">resolve</span><span class=\\"token punctuation\\">(</span>__dirname<span class=\\"token punctuation\\">,</span><span class=\\"token string\\">'./src'</span><span class=\\"token punctuation\\">)</span></span>\\n<span class=\\"line\\"> <span class=\\"token punctuation\\">}</span></span>\\n<span class=\\"line\\"> <span class=\\"token punctuation\\">}</span></span>\\n<span class=\\"line\\"><span class=\\"token punctuation\\">}</span><span class=\\"token punctuation\\">)</span></span>\\n<span class=\\"line\\"></span>\\n<span class=\\"line\\"></span></code></pre></div>"}`);export{r as comp,k as data};