webpack打包後的代碼,如何部署到伺服器上?

現在使用vuejs開發前端,然後用webpack打包,現在問題是打包完之後前端代碼怎麼部署到伺服器上呢(現在整個文件夾包括各種插件/配置項/node_modules/.vue等文件夾)?具體要傳哪些文件?伺服器還要配置相關node打包環境嗎


webpack打包後的index.html就是伺服器和前端項目對接的入口文件,整個build文件夾都會被伺服器視為靜態資源包,也就說你只要粘貼複製給伺服器的只有build這個文件夾,其他的都是開發環境下的包。而每個伺服器在配置的時候都會設置當前埠下,所指向的靜態資源包和默認首頁入口文件index.html。

我們以nginx和express為例,首先複製build文件夾,上傳到你伺服器的那台機器上,如果是nginx或是阿帕奇就找一個你喜歡的位置放好,比如:/ubuntu/AV/movies,然後去nginx配置文件中config.default去設置一個埠號,把靜態資源文件夾位置設成/ubuntu/AV/movies/build(具體怎麼用,以各家伺服器公司文檔為準),重啟就可以跑起來了。如果是express做伺服器的話,在已經創建好express項目包里把build文件夾放進去,在app.js里進行配置,一般來說express的默認靜態路由配置的__dirname是views文件夾,把views改成build就好了。

就是下面的這段代碼:

app.use(express.static(path.join(__dirname, "build")));

然後開啟伺服器,運行。


打包以後當然是上傳,tarball,rsync隨你。但為什麼不在線上打包熱切換,可以用git一氣呵成。


瀉藥

配置 output 的 publicPath

比如線上地址是 cdn.xxx.com:

output: {
publicPath: "http://cdn.xxx.com"
}


最簡單的方式就是把生成的代碼(比如 dist 目錄)用 rsync 工具同步到伺服器上的 Web 目錄中。


看這裡 Webpack 2 視頻教程


我也碰到這個問題,將vue項目打包放到伺服器上面打開空白的,不知道怎麼配置


直接將dist裡面的文件上傳到你配置好的伺服器文件運行文件夾中即可,我剛上傳過,很方便,而且壓縮後的代碼體積很小,在線上載入運行速度嗖嗖的,很棒!


你不是在部署前端的代碼么,只需要把打包後的文件部署上去就行了啊


推薦閱讀:

如何評價大漠窮秋的文章《Vue從Angular裡面抄了哪些東西?》?
bootstrap+jq+ES5 真的比react/vue/angular+ES6 low嗎?
為什麼一些公司招前端不想要培訓班出來的人?

TAG:前端開發 | Vuejs | webpack |