<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                目前我們編輯的vue組件文件、scss樣式工具文件都是在開發環境中作用的,我們需要使用npm run serve方法開啟端口進行訪問。 但在生產環境(項目上線環境)下,我們需要將開發環境中的文件編譯成生產環境代碼,將vue組件文件和scss樣式工具文件編譯成靜態的html、css文件,同時將admin端、web端放入server端,從而形成一個完整的網站形態。 如需要訪問web端,則訪問域名:3000/web(本地環境如localhost:3000/web)。 1.通過npm run build對admin端直接編譯 首先確保admin端沒有運行,然后對admin端文件進行編譯: ``` cd admin npm run build ``` ![](https://img.kancloud.cn/6f/e1/6fe10cc37a3b6a84b38265469dae233d_1261x844.png) 此時,正在編譯,編譯完成后,在admin端中就生成了我們日常使用的靜態文件,還為我們分好了類。 ![](https://img.kancloud.cn/ee/d8/eed8fdbe40e08a0781887ebb4c869975_1261x844.png) 之后這些靜態文件就可以上傳至任何服務器中顯示。 2.使用serve命令查看編譯后的admin端 安裝serve命令方法: ``` npm i -g serve ``` ![](https://img.kancloud.cn/41/6d/416dc9e6ce3c7006c4f980055a69bead_493x80.png) 使用serve方法查看靜態文件: ``` serve dist ``` ![](https://img.kancloud.cn/46/5e/465ec2e68807b84c2dac1cbfd71217f3_464x286.png) 生成了5000端口號的鏈接,點擊進入: ![](https://img.kancloud.cn/4b/58/4b5844528f8128b07254dd2cbe0a75b0_1206x790.png) 沒問題。 此時的靜態文件與開發環境中邏輯相同,依附著server端進行數據查詢抽取,如果單獨將這些頁面放入服務器中運行的話也就只是普通的靜態頁面無法進行數據交互。 所以我們如果想要正常獲取接口,需要替換一下接口地址,將接口地址替換成同樣上線的服務接口地址,可以涉及前后端分離。 ![](https://img.kancloud.cn/61/14/6114abe8d256376c8543fdd244b3d908_1261x844.png) 但我們到目前位置想做的就是整套網站開發,使用的就是之前制作的server端,現在只需要將admin端靜態文件放入server端,讓admin端與server端成一體即可,繼續使用server端后臺。 3.將生成的admin靜態文件放入server端 首先修改baseURL接口地址,改為動態切換,分別是之前的開發環境接口地址(localhost)和生產環境接口地址。 (1)利用vue-cli方法定義接口地址變量 定義接口地址環境變量process.env.VUE_APP_API_URL,其中process.env是環境變量,環境變量中定義以VUE_APP開頭的變量名,起名為_API_URL。 ![](https://img.kancloud.cn/d9/01/d9019317a8eea66fa8d40c2bb0704800_1261x844.png) 一般在客戶端是沒有process環境變量的,但我們使用vue-cli中的vue pack打包后就可以生成這個環境變量。 同時我們在admin端新建一個環境變量文件 .env.development(生產環境下的環境變量): ![](https://img.kancloud.cn/64/fa/64fa09eaded6cde67c322b51a6803b89_1261x844.png) 此環境變量的接口地址用于開發環境,但如果沒有這個環境變量,也就是在生產環境中,我們需要給其設定一個絕對地址’/admin/api‘,確保在生產環境中調用接口找到正確的接口地址。 如此就實現了baseURL的動態接口地址綁定。 ![](https://img.kancloud.cn/8d/2e/8d2ef9e4705e6aa5b56a9f450e62ed39_1261x844.png) (2)再次編譯admin端,將生成的admin靜態文件放入server端 ``` cd admin npm run build ``` 編譯完成后我們再次到app.js靜態文件中查找接口地址,查看剛剛的修改: ![](https://img.kancloud.cn/a0/62/a062b6d4bf84673237358cb0b7cde227_1261x844.png) 成功,沒問題。 此時我們將生成的靜態文件放入server端,后續通過server端進行訪問(localhost:3000/admin)。 在server端新建文件夾admin,復制生成的dist文件夾中的文件,粘貼到server端下面的admin文件夾中: ![](https://img.kancloud.cn/01/e0/01e02815a61c1c25a61a87567279c97c_299x530.png) 由于這些文件均視為靜態文件,所以定義路由方法與圖片上傳一樣: ![](https://img.kancloud.cn/3d/54/3d547e46f53a0eb3426523664268173a_1261x844.png) 此時進入server端,輸入路由地址 localhost:3000/admin: ![](https://img.kancloud.cn/2f/9d/2f9db7cce62c499b7c4be71e14a2fa6e_1324x850.png) 此時頁面并未出現我們預想的頁面,但在Network中可以看出文件確實被引用且找到,但卻找不到css和js文件,這是因為css和js文件地址錯誤導致,檢查admin中index.html靜態文件: ![](https://img.kancloud.cn/a7/b9/a7b90edc951f63dc67b1afe8a522450f_1261x844.png) 文件地址是’/css‘,但如果想查詢成功,地址應該是’/admin/css’才可以。 此時我們修改server端中admin的靜態路由,將’/admin’改為’/’: ![](https://img.kancloud.cn/aa/c7/aac7848e67e3d9c2e5199df801a0974e_1324x910.png) 此時直接訪問localhost:3000則可正常打開admin端。 但這與我們預想的localhost:3000/admin和localhost:3000/web不符合,所以我們要進行下一步修改。 4.使用vue CLI設置靜態文件編譯位置 首先我們參考vue CLI配置參考 ![](https://img.kancloud.cn/7f/7a/7f7a071bbf8fabdb756a66e013a230c7_1324x842.png) 在admin端新建vue-cli配置文件vue.config.js: ![](https://img.kancloud.cn/ab/5c/ab5cf3e3ee279c39204a9285c4e59f55_1261x844.png) ``` module.exports = { // 輸出文件夾(配置文件時,將配置好的靜態文件直接輸出到server端下面的admin文件夾,而不用輸出到admin端的dist文件夾中) outputDir: __dirname + '/../server/admin', // 默認公共路徑:如果環境變量 === '生產環境',則使用'/admin'的publicPath,否則直接使用'/' publicPath: process.env.NODE_ENV === 'production' ? '/admin/' : '/', } ``` 完成配置后,我們將之前生成的admin端靜態文件都刪除(包括server/admin和admin/dist),重新生成admin端靜態文件: ![](https://img.kancloud.cn/bd/6b/bd6b2db2c88e1589102555b580df9ec8_1261x844.png) ``` cd admin npm run build ``` ![](https://img.kancloud.cn/6b/38/6b385cd9e012252bcbe8cf755a866f2f_1261x844.png) 此時生成的admin端靜態文件自動輸出到server/admin文件夾中,同時文件路徑均改為了/admin/js/…。 這樣,在server端index.js路由中將地址改回/admin,測試: ![](https://img.kancloud.cn/e7/ab/e7ab2760a212f488e3aeb4a21003884a_1261x844.png) ![](https://img.kancloud.cn/50/5a/505ac9d3914e29e85c8d4ab65735252f_1324x913.png) 沒問題,到此admin端生產環境編譯過程完成。 web端與admin端相同,大家自行測試。下節我們購買域名和服務器進行線上部署。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看