欧美亚洲中文,在线国自产视频,欧洲一区在线观看视频,亚洲综合中文字幕在线观看

      1. <dfn id="rfwes"></dfn>
          <object id="rfwes"></object>
        1. 站長資訊網(wǎng)
          最全最豐富的資訊網(wǎng)站

          Laravel怎么自定義webpack.mix.js

          下面由laravel教程欄目給大家介紹Laravel怎么自定義webpack.mix.js,希望對需要的朋友有所幫助!

          Laravel自定義webpack.mix.js

          我們在使用laravel構(gòu)建項(xiàng)目時(shí),經(jīng)常會把后臺管理前臺放在同一個(gè)laravel項(xiàng)目中。

          但是當(dāng)這兩個(gè)項(xiàng)目都需要用到laravel-mix構(gòu)建時(shí),我們希望通過運(yùn)行不同的npm命令區(qū)分后臺及前臺。

          考慮混合在一起的情況:

          //webpack.mix.js  const { mix } = require('laravel-mix');      //前臺資源打包到 /public/js/index.js mix.js('resources/assets/js/app.js', 'js/index.js')     //后臺資源打包到 /public/js/admin/index.js    .js('resources/assets/js/admin/index.js', 'js/admin/');

          webpack.mix.js中,我們把后臺和前臺資源文件寫在同一個(gè)配置文件中,這樣你只需運(yùn)行npm run dev,資源文件就能自動打包了。

          但是當(dāng)只你想更新前臺資源文件時(shí),后臺資源文件不得不一起被動更新。

          解決方案

          在根目錄定義兩個(gè)配置文件

          1. webpack.mix.js //默認(rèn)已存在
          2. webpack.admin.js

          更新webpack.mix.js使其支持env。

          //webpack.mix.js const { mix } = require('laravel-mix'); const { env } = require('minimist')(process.argv.slice(2));  if (env && env.admin) {     require(`${__dirname}\webpack.admin.js`);     return; }  mix.js('resources/assets/js/app.js', 'js/index.js'); //其他前端資源

          后端資源打包webpack.admin.js配置

          //webpack.admin.js const { mix } = require('laravel-mix');  mix.js('resources/assets/js/admin/index.js', 'js/admin/'); //其他后臺資源配置

          確認(rèn)已安裝完node依賴,并在根目錄執(zhí)行

          npm run dev -- --env.admin //打包后端資源 npm run dev                //默認(rèn)打包前端資源

          若嫌每次都帶參數(shù)太麻煩,可更新package.json文件,帶上env參數(shù)(最后面)

          "scripts": {     "dev-admin": "node node_modules/cross-env/dist/bin/cross-env.js NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js --env.admin" }

          接下來直接運(yùn)行npm run dev-admin就能打包后端資源。

          注意,

          當(dāng)webpack.mix.jswebpack.admin.js沒有指定不同的mix.setPublicPath(path)時(shí),默認(rèn)的打包文件都會放到/public目錄下,這樣每次打包都會覆蓋mix-manifest.json的值。

          最好的方法時(shí)前臺及后臺指定不同的目錄,

          server {     server_name admin.domain.com;     index index.php;     root /data/your/site/public-admin;     # .... }  server {     server_name domain.com;     root /data/your/site/public;     index index.php;     # .... }

          這樣你只需要在webpack.admin.js指定publicPath就能避免mix-manifest.json被覆蓋的問題。

          //webpack.admin.js mix.setPublicPath('public-admin'); //...

          測試時(shí)laravel-mix:^0.11.4, laravel:5.4.*,若你有更好的解決方案。那你還在….

          【推薦:最新的五個(gè)Laravel視頻教程】

          贊(0)
          分享到: 更多 (0)
          網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號