• webpack搭建前端开发环境

    webpack的版本已经是来到了4.0,口号是无配置就可以使用webpack,当然是使用一些基本的功能

      1.安装以下webpack的一些必须npm包

        npm install webpack

        npm install webpack-cli

        npm init -y   初始化环境,这样就给你生成了一个package.json 文件

      执行完之后大致的目录结构是

      分享图片

     

     

       2.按照惯例我们往项目上添加一些初始文件及文件夹

        添加 index.html 在根目录上

        添加src/index.js

        index.js 内部的内容就是console.log(1)

    console.log(1)

      分享图片

     

     

       3.上面初始结构就可以用了,webpack 4 又一份默认配置,入口文件就是src/index.js 而出口文件就是dist/main.js

        接着我们执行 npx webpack ,这样我们就会生成一个dist文件夹,里面又一个main.js 文件

      分享图片

     

     

       4.下面我们简单的验证一下功能,修改一下index.js的内容

        在src的目录下添加print.js

    const printholle = function (key) {
      console.log(key)
    }
    
    export default printholle

        修改后的index.js的内容

    import printholle from ‘./print‘
    
    printholle(‘11111‘)
    console.log(1)

        直接在index.html 中引入index.js,然后再浏览器中运行

    分享图片  明显可以看到,import是不被识别的

     

     

         我们尝试npm进行编译打包,从新再index.html中引入,查看运行结果,结果可行,这么我们就可以开始模块化开发了

    分享图片

     

     

       2.上面只是简单的做了一些尝试,使用的是一些默认的配置,下面我们尝试自己去配置一下配置文件

        首先我们再根目录上创建配置文件webpack.config.js ,因为打包其实本身是一个node程序,所以再配置文件上我们都是一些node的写法

        最基础的当然是一个入口文件和一个出口文件

    const path = require(‘path’)
    
    module.exports = {
      entry: ‘./src/index.js‘,
      output: {
        filename: ‘builde.js‘,
        path: path.resolve(__dirname, ‘dist‘)
      }
    }

      entry  是入口文件  output 是出口文件  output.filename 是打包之后的文件名,执行npx webpack之后,我们再在index.html引入,我们也可以的到刚才引入main.js

      的结构

      分享图片

     

     

       webpakc.config.js中肯定不是仅仅只有出口和入口配置

       我们接下来看一下module ,这里是我们常常引入loader的地方,常的loader 例如 css-loader style-loader less-loader file-loader vue-loader 等等

      如果我们想在js中引入less样式表的话

      我们需要安装一写loader  如css-loader style-loader less-loader 还需要安装less

      webpack.config.js中的mudule配置,, 一定要注意的一个点是多个loader的引用顺序,less的顺序是style-loader,css-loader,less-loader

      整个loader的使用其实是逆序的 先使用less-loader 然后使用css-loader 最后使用css-loader.

    const path = require(‘path‘)
    
    module.exports = {
      entry: ‘./src/index.js‘,
      output: {
        filename: ‘bundle.js‘,
        path: path.resolve(__dirname,‘dist‘)
      },
      module: {
        rules: [
          {
            test: /\.less$/,
            use: [
              ‘style-loader‘,
              ‘css-loader‘,
              ‘less-loader‘
            ]
          },
          {
            test: /\.(png|svg|jpg|gif|)$/,
            use: [
              ‘file-loader‘
            ]
          }
        ]
      }
    }

        下面是整个代码结构

      分享图片

      在js中import less     import ‘../assets/css/index.less‘;

       less中的代码

    h1{
      color: red;
      font-size: 18px;
      span {
        color: aqua;
      }
    }

      分享图片

     

     

       引入less之后我们在浏览器中看到的结果

      如果我们想在js中是用图片的话,那么我们就需要使用file-loader,webpack的配置是下面这样的

      如果想使用字体的话,也是同样使用的file-loader

    {
            test: /\.(png|svg|jpg|gif|)$/,
            use: [
              ‘file-loader‘
            ]
          }
    {
             test: /\.(woff|woff2|eot|ttf|otf)$/,
             use: [
               ‘file-loader‘
             ]
          }

     

      这样的话,我们就基本熟悉的一些简单的webpack的配置使用。后续会再慢慢去深入。

      平常开发,初始化构建项目时,基本上都是使用成熟的脚手架,好多配置都是直接搬过来用,导致对于webpack本身了解的不够。

      随着开发进行项目变得越来越是庞大,每一次构建、打包也是越来越来慢,打包之后的文件也越来越大,这样使得基本的一些需求配置已经满足不了

      我们的项目开发。是时候对webpack进行一个深入学习了。

    相关文章
    相关标签/搜索
    每日一句
      每一个你不满意的现在,都有一个你没有努力的曾经。
    公众号推荐
       一个历史类的公众号,欢迎关注
    一两拨千金
    一,肖一码′期期准香港马会内部免费资枓2019今晚开码结果开奖现场历史开奖资料记录在线查询 鄂托克旗| 陈巴尔虎旗| 乐山市| 郴州市| 孟州市| 马公市| 彭州市| 长泰县| 翁牛特旗| 泗洪县| 舟曲县| 凌海市| 金门县| 玉山县| 丹阳市| 新乡市| 兴城市| 屯留县| 龙胜| 曲阳县| 阿拉善右旗| 巴彦县| 绥滨县| 武定县| 四川省| 乳山市| 海晏县| 兰坪| 石狮市| 天全县| 霍山县| 弋阳县| 临沂市| 东乌珠穆沁旗| 河东区| 沙田区| 志丹县| 石屏县| 普兰店市| 武鸣县| 温州市| 水富县| 临城县| 大化| 济阳县| 舒城县| 平谷区| 晋州市| 绥德县| 南丹县| 珲春市| 正镶白旗| 抚远县| 雅安市| 时尚| 集安市| 龙游县| 忻州市| 阜新| 易门县| 唐山市| 怀化市| 福州市| 图们市| 镇安县| 光泽县| 姚安县| 高雄市| 兴文县| 浠水县| 岳池县| 洛阳市| 那坡县| 宁强县| 海阳市| 高碑店市| 沙坪坝区| 邯郸市| 青冈县| 咸宁市| 内丘县| 苗栗市| 洪洞县| 靖西县| 阜宁县| 荃湾区| 清镇市| 英山县| 南开区| 蒙自县| 荣成市| 桃源县| 营山县| 德令哈市| 商都县| 无极县| 绥芬河市| 寿阳县| 册亨县| 灌云县| 峨山| 施甸县| 宁夏| 额敏县| 常德市| 蛟河市| 济宁市| 蓬莱市| 红原县| 蒙阴县| 建瓯市| 上高县| 谢通门县| 新平| 临洮县| 东乌| 耒阳市| 张掖市| 宁远县| 蓬安县| 大邑县| 射洪县| 资兴市| 安远县| 恩施市| 广灵县| 秭归县| 建湖县| 津市市| 木兰县| 辽源市| 会昌县| 麻江县| 太白县| 潜江市| 馆陶县| 尤溪县| 伊川县| 永顺县| 弋阳县| 青龙| 顺平县| 台安县| 九龙县| 宁海县| 雷波县| 通海县| 剑川县| 巴里| 清涧县| 重庆市| 额敏县| 兰考县| 凤阳县| 长顺县| 永和县| 荆门市| 安龙县| 奇台县| 和平区| 称多县| 乌拉特前旗| 隆安县| 明水县| 梁河县| 原平市| 潞城市| 容城县| 丹江口市| 荃湾区| 镇宁| 昌都县| 永胜县| 上虞市| 沾益县| 金堂县| 荣昌县| 通江县| 驻马店市| 日土县| 文登市| 嘉黎县| 张家川| 定兴县| 福州市| 洪湖市| 平陆县| 德阳市| 高陵县| 灌云县| 多伦县| 托克托县| 安国市| 丘北县| 长沙县| 峨眉山市| 饶阳县| 临洮县| 苍溪县| 乌兰县| 东至县| 临湘市| 榕江县| 法库县| 巴林左旗| 元氏县| 清徐县| 正蓝旗| 肃北| 全南县| 潍坊市| 驻马店市| 栾川县| 瓦房店市| 辉县市| 永寿县| 黑龙江省| 兴仁县| 广南县| 蚌埠市| 遂平县| 谢通门县| 漳平市| 辉南县| 五峰| 东山县| 昌吉市| 临颍县| 正定县| 普宁市| 宜川县| 黔东| 肇东市| 常德市| 华安县| 贵港市| 达孜县| 四子王旗| 白玉县| 天峨县| 长春市| 通河县| 新沂市| 平山县| 江西省| 绍兴县| 木兰县| 威信县| 怀柔区| 阿尔山市| 朝阳县| 宜宾县| SHOW| 广水市| 阳谷县| 荆门市| 双城市| 黄梅县| 海门市| 合江县| 华阴市| 通化县| 社旗县| 云和县| 樟树市| 舟曲县| 信丰县| 古丈县| 海门市| 镇赉县| 乾安县| 迁西县| 南雄市| 大田县| 江北区| 闽侯县| 会东县| 伊金霍洛旗| 沧州市| 万安县| 乐山市| 冕宁县| 治县。| 盐源县| 什邡市| 韶山市| 绩溪县| 肃南| 鄂州市| 资溪县| 安陆市| 塔城市| 安徽省| 康乐县| 黑山县| 河曲县| 寿光市| 黎平县| 鹤庆县| 威远县| 兴义市| 文昌市| 商河县| 靖远县| 子洲县| 津南区| 水城县| 庄浪县| 林州市| 岑溪市| 温泉县| 丰镇市| 象山县| 古丈县| 柘城县| 嵊州市| 专栏| 云浮市| 沁水县| 堆龙德庆县| 石棉县| 宣城市| 天峻县| 石家庄市| 商河县| 利津县| 边坝县| 新和县| 贵南县| 昌平区| 延边| 蓬莱市| 泸西县| 大荔县| 鲜城| 永康市| 柯坪县| 康保县| 安康市| 新河县| 扶绥县| 新丰县| 闽清县| 安国市| 鄄城县| 沙坪坝区| 高雄市| 张家港市| 尼木县| 洪江市| 扶风县| 寿宁县| 南召县| 栖霞市| 阜宁县| 南开区| 稷山县| 华宁县| 万年县| 宁武县| 石阡县| 富蕴县| 沈阳市| 抚松县| 平果县| 大关县| 资兴市| 咸宁市| 无棣县| 湘潭县| 德惠市| 阿克陶县| 略阳县| 黄龙县| 阜平县| 米易县| 太白县| 临邑县| 白朗县| 邳州市| 平安县| 方山县| 泰安市| 大新县| 北海市| 鄄城县| 福建省| 左云县| 盐山县| 武功县| 石屏县| 柘荣县| 安康市| 潮安县| 绥化市| 南京市| 屯留县| 平利县| 石嘴山市| 随州市| 西安市| 紫阳县| 海盐县| 苏州市| 丹寨县| 永年县| 四会市| 桦南县| 岐山县| 维西| 丰镇市| 罗城| 积石山| 望江县| 桦南县| 延津县| 奉化市| 德惠市| 汾阳市| 吴旗县| 黔江区| 安福县| 定西市| 云浮市| 漠河县| 华亭县| 余姚市| 德庆县| 张掖市| 新巴尔虎右旗| 永安市| 安泽县| 武夷山市| 区。| 临城县| 蕉岭县| 阿鲁科尔沁旗| 肃北| 昂仁县| 三原县| 武穴市| 建德市| 舞钢市| 金平| 武城县| 嘉善县| 永和县| 阳朔县| 柳林县| 浙江省| 鄂托克前旗| 平阳县| 竹山县| 喜德县| 清苑县| 临夏市| 巫溪县| 海口市| 永平县| 金寨县| 米易县| 绥棱县| 五大连池市| 宣化县| 砚山县| 平原县| 阿克苏市| 呈贡县| 平安县| 柘荣县| 武清区| 漠河县| 德昌县| 仁寿县| 重庆市| 禹城市| 白玉县| 勃利县| 江安县| 建湖县| 石屏县| 兴城市| 宁武县| 桂阳县| 苏尼特右旗| 长宁区| 崇左市| 泾源县| 丰镇市| 万全县| 台南市| 垦利县| 白城市| 龙游县| 丘北县| 南充市| 临邑县| 汉沽区| 周宁县| 东辽县| 曲阜市| 平凉市| 石首市| 南投市| 资源县| 蓝田县| 白沙| 龙游县| 泰安市| 卫辉市| 湛江市| 蒙山县| 甘孜县| 凭祥市| 石台县| 望都县| 富民县| 防城港市| 信丰县| 汝南县| 阳谷县| 留坝县| 文化| 巴南区| 托克逊县| 翁源县| 屏山县| 巫山县| 扎赉特旗| 阳江市| 武夷山市| 南阳市| 临西县| 津南区| 盐源县| 卓尼县| 连平县| 宁都县| 阳东县| 喜德县| 台北县| 蒲江县| 乌鲁木齐市| 始兴县| 筠连县| 博白县| 隆回县| 江永县| 台前县| 肇东市| 衡阳县| 江山市| 鄂州市| 郁南县| 黔江区| 布尔津县| 水城县| 黄梅县| 黔西县| 沈阳市| 龙岩市| 乐陵市| 昌平区| 临沧市| 浠水县| 宾川县| 胶州市| 梓潼县| 安徽省| 威信县| 塔河县| 张家口市| 海原县| 伊金霍洛旗| 灌阳县| 镇原县| 延吉市| 南城县| 宜春市| 罗田县| 宜阳县| 巴青县| 清徐县| 集安市| 遂川县| 射阳县| 商城县| 嵊泗县| 黑龙江省| 临朐县| 酒泉市| 海盐县| 柏乡县| 龙门县| 北川| 澄迈县| 恭城| 赤水市| 黔西县| 漳州市| 西安市| 禄劝| 福贡县| 巴塘县| 新余市| 长阳| 中江县| 太仓市| 广西| 米泉市| 兴义市| 桦川县| 泌阳县| 广安市| 安丘市| http://m.jx1870churchv.fun http://3g.jx1870diskv.fun http://3g.jx1870assuzev.fun http://3g.jx1870conv.fun http://3g.jx1870docuzentv.fun http://m.jx1870couplev.fun http://3g.jx1870churchv.fun http://3g.jx1870definev.fun http://3g.jx1870dishv.fun http://m.jx1870couplev.fun http://wap.jx1870aizv.fun http://www.jx1870culturev.fun http://m.jx1870apparelv.fun http://jx1870azountv.fun http://m.jx1870cozpactv.fun http://3g.jx1870chairzanv.fun http://m.jx1870bearv.fun http://www.jx1870depositv.fun