亚洲最大看欧美片,亚洲图揄拍自拍另类图片,欧美精品v国产精品v呦,日本在线精品视频免费

  • 站長資訊網
    最全最豐富的資訊網站

    webpack打包layui實現(xiàn)步驟

    webpack打包layui實現(xiàn)步驟

    總的來說打包webpack打包layui要解決幾個問題:

    1、解決引入layui-src報錯的問題

    2、layui插件的打包方式

    3、解決打包后樣式不生效的問題

    解決上面幾個問題,基本就能成功打包了

    首先安裝layui(推薦:layui教程)

    npm i layui-src

    截至到我安裝時的版本是 2.3.0

    包本身的一些問題仍沒有解決,這里需要收到更正

    到安裝目錄下(/node_modules/layui-src/package.json),修改package.json的main字段為"main": "dist/layui.js",

    相當于給當前包指定入口文件,這個解決了之前說的問題1。

    接下來問題2:

    也是比較最關鍵的地方,是靜態(tài)打包插件還是沿用layui自身的按需加載呢

    我最終采取的是沿用ayui原有的按需加載的方式,理由無它,省事!

    因為這樣我僅需要關心引入layui即可,插件無需我管理,而且還能減小打包后的文件大小,當然最大的原因還是我懶

    決定怎么做之后就可以引入layui了

    import 'layui-src' layui.config({   dir: '/dist/' })

    后面的layui.config是全局配置,dir目錄之告訴layui它的插件的位置,這個目錄是入口文件layui.js的所在位置,
    這點需要自己理解清楚,配置錯誤就會看到瀏覽器加載諸如layer.js等插件時的404錯誤

    問題3,css的引入

    import 'layui-src/src/css/layui.css'

    這里是耗費我時間最久的地方,看,我這里引入的是src目錄下的layui.css不是之前的dist目錄,原因是我做了一些修改和定制

    搜索url關鍵字,將文件里的諸如url(”../font/iconfont.eot?v=230“)去掉引號,改成url(../font/iconfont.eot?v=230),后續(xù)配合webpack里的url-loader

    將字體文件靜態(tài)化,其他的樣式有需要的也可自己定制

    這里說下很多人都遇到的樣式不生效問題,其實很簡單,是webpack的配置問題

    css-loader默認會把css自定義樣式名哈?;乐怪孛?,因此打包后的樣式名字都變了……找了半天打開調試才發(fā)現(xiàn)這個問題

    解決方案有兩種,一種是在js里使用css,最后渲染會同步哈?;ㄎ也碌?,懶的驗證……),第二,不讓webpack改名字,保持原有的樣式名

    果斷采取第二種,懶得折騰了,配置如下

    {     loader: 'css-loader',     options: {         modules: true,         getLocalIdent: (context, localIdentName, localName, options) = >{             return localName         }     } },

    另外需注意css-loader和file-loader里的publicPath,這里打開調試頁面看下會比較清楚,如果404了,就面向錯誤編程

    const webpack = require('webpack')  module.exports = {   entry: {     home: './static/js/home.js',     download: './static/js/download.js',   },   output: {     path: __dirname + '/dist',     filename: '[name].bundle.js',   },   module: {     rules: [       {         test: /.(otf|eot|svg|ttf|woff|woff2)$/,         use: [           {             loader: 'url-loader',             options: {               name: '[name].[ext]',// 打包后的文件名稱               outputPath: '', // 默認是dist目錄               publicPath: '../font/', // 圖片的url前面追加'../font'               useRelativePath: true, // 使用相對路徑               limit: 50000 // 表示小于1K的圖片會被轉化成base64格式             }           }         ]       },       {         test: /.(jpe?g|png|gif|svg)$/i,         use: [           {             loader: 'file-loader',             options: {               name: '[hash:3]_[name].[ext]',// 打包后的文件名稱               outputPath: '',               publicPath: '../img/',               useRelativePath: true             }           }         ]       },       {         test: /.css$/,         use: [           { loader: 'style-loader' },           {             loader: 'css-loader',             options: {               modules: true,               getLocalIdent: (context, localIdentName, localName, options) => {                 return localName               }             }           },         ]       },       { test: /.js$/, exclude: /node_modules/, use: 'babel-loader' },     ]   },   plugins: [     new webpack.ProvidePlugin({       $: 'jquery',       jQuery: 'jquery',       "window.jQuery": "jquery"     })   ],   mode: 'development' }

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