<menu id="gc4q0"></menu>
  • <menu id="gc4q0"></menu>
  • <input id="gc4q0"></input>
    <nav id="gc4q0"></nav>
  • <input id="gc4q0"><acronym id="gc4q0"></acronym></input>
  • 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进行一个深入学习了。

    相关文章
    相关标签/搜索
    每日一句
      每一个你不满意的现在,都有一个你没有努力的曾经。
    公众号推荐
       一个历史类的公众号,欢迎关注
    一两拨千金
    香港最快現场开奖结果118图库天下彩天空彩免费大全香港蓝月亮精选资料六合宝典天天彩票新版 临桂县| 新邵县| 卓资县| 富蕴县| 车致| 固始县| 绥化市| 日土县| 顺平县| 阳城县| 内丘县| 哈尔滨市| 遵化市| 梨树县| 祁阳县| 平昌县| 双江| 广水市| 拜城县| 新竹县| 芮城县| 林州市| 汉川市| 长寿区| 无锡市| 五河县| 庆元县| 绿春县| 美姑县| 新宁县| 四会市| 本溪| 盘山县| 同江市| 忻州市| 孝义市| 隆德县| 洛隆县| 新泰市| 集贤县| 托克托县| 柘城县| 西昌市| 白水县| 宁武县| 韶山市| 金堂县| 砚山县| 咸阳市| 金湖县| 河西区| 承德市| 报价| 镇巴县| 合江县| 义乌市| 甘肃省| 梧州市| 米泉市| 大洼县| 东城区| 永川市| 什邡市| 吉隆县| 怀化市| 金平| 青川县| 巧家县| 漳浦县| 马龙县| 漳平市| 娄底市| 扶绥县| 陕西省| 江门市| 南汇区| 交口县| 麦盖提县| 淳化县| 景洪市| 寿光市| 绥滨县| 兰考县| 财经| 江北区| 普兰县| 斗六市| 松潘县| 吴旗县| 夏河县| 贡嘎县| 江口县| 孟津县| 廊坊市| 莒南县| 新河县| 宜州市| 民乐县| 健康| 景德镇市| 临夏市| 崇州市| 津南区| 庄浪县| 凤山县| 三原县| 十堰市| 乐平市| 偃师市| 洱源县| 扎鲁特旗| 留坝县| 萝北县| 平湖市| 巴彦县| 固镇县| 湖口县| 辽宁省| 镇原县| 荆州市| 榆树市| 雷波县| 建湖县| 弥渡县| 孟村| 闽清县| 肥城市| 固始县| 长沙市| 浦东新区| 台州市| 巴彦淖尔市| 阿拉善左旗| 巴彦县| 灌阳县| 肥乡县| 清水河县| 湘潭市| 德江县| 红河县| 文登市| 陈巴尔虎旗| 比如县| 讷河市| 四平市| 武川县| 宜良县| 奉新县| 五峰| 遂溪县| 新营市| 星子县| 马尔康县| 绥化市| 安国市| 石家庄市| 昭觉县| 布尔津县| 行唐县| 闻喜县| 息烽县| 博爱县| 辽阳县| 新野县| 运城市| 聊城市| 忻州市| 成都市| 封开县| 银川市| 监利县| 兴业县| 黑河市| 汉沽区| 凤冈县| 灵宝市| 鄂托克前旗| 铁岭市| 建阳市| 土默特右旗| 平邑县| 民县| 错那县| 南投县| 那坡县| 松潘县| 通海县| 泸州市| 柯坪县| 鄂托克旗| 禹城市| 武隆县| 扶绥县| 新蔡县| 永清县| 新津县| 庆安县| 阆中市| 依安县| 株洲县| 长武县| 桦南县| 五莲县| 大新县| 和平区| 灯塔市| 通河县| 富裕县| 文安县| 西贡区| 昌乐县| 山西省| 海丰县| 华亭县| 左权县| 嘉鱼县| 泊头市| 衡东县| 昂仁县| 古浪县| 肃北| 舞钢市| 金华市| 南和县| 永靖县| 汉中市| 桓台县| 凉山| 紫云| 尼玛县| 永清县| 鄢陵县| 合江县| 娱乐| 盐边县| 平谷区| 哈尔滨市| 普洱| 昭通市| 迭部县| 博爱县| 阿拉善左旗| 澄江县| 丽江市| 扬州市| 隆德县| 郯城县| 麦盖提县| 元阳县| 吴桥县| 西盟| 普兰县| 江城| 桓台县| 宁津县| 锡林郭勒盟| 忻州市| 镇安县| 电白县| 广东省| 莫力| 龙胜| 西青区| 铜鼓县| 罗江县| 巍山| 绵竹市| 鹤庆县| 开远市| 武隆县| 恩平市| 宿州市| 巴彦淖尔市| 嘉荫县| 保亭| 张家川| 曲周县| 凤凰县| 富蕴县| 肥乡县| 宜黄县| 德格县| 两当县| 保德县| 嘉兴市| 慈溪市| 海安县| 张北县| 阿荣旗| 灵丘县| 田东县| 梅河口市| 高阳县| 茶陵县| 洪洞县| 晋江市| 上思县| 丹棱县| 石渠县| 准格尔旗| 定兴县| 黎城县| 长治市| 侯马市| 额尔古纳市| 嘉荫县| 通渭县| 商水县| 饶阳县| 礼泉县| 浦城县| 忻城县| 桦南县| 宣恩县| 申扎县| 汤原县| 安溪县| 黑河市| 赤城县| 康乐县| 青川县| 泗水县| 高邮市| 井陉县| 剑阁县| 汽车| 安国市| 新乡市| 平安县| 侯马市| 遂溪县| 青海省| 通州区| 南康市| 宝应县| 金阳县| 固安县| 凤冈县| 津市市| 黎川县| 英吉沙县| 铁力市| 游戏| 铁岭市| 青铜峡市| 富源县| 乐东| 宜兰县| 普洱| 沂南县| 长岭县| 辽阳市| 承德县| 定襄县| 黑山县| 绥中县| 门源| 青海省| 金堂县| 迁安市| 清远市| 阳泉市| 东莞市| 玉屏| 思南县| 楚雄市| 碌曲县| 石林| 万山特区| 宝山区| 西丰县| 长白| 濉溪县| 灵台县| 贺州市| 辽阳市| 甘孜县| 图片| 灵石县| 定远县| 滕州市| 沙坪坝区| 福安市| 莒南县| 丹棱县| 县级市| 嘉峪关市| 西青区| 潼关县| 龙江县| 清镇市| 扶沟县| 临漳县| 衡阳市| 玉溪市| 湘西| 蓬安县| 道孚县| 海南省| 崇信县| 贞丰县| 鄂伦春自治旗| 武夷山市| 酒泉市| 双流县| 镇江市| 黄骅市| 伊吾县| 苏尼特右旗| 潞城市| 彭阳县| 布拖县| 涞水县| 缙云县| 玛沁县| 望江县| 铜山县| 湘乡市| 巩义市| 柘荣县| 交城县| 博湖县| 来宾市| 睢宁县| 洛扎县| 双辽市| 慈利县| 黔东| 双鸭山市| 肃北| 安阳县| 萨嘎县| 玉龙| 阳东县| 岳普湖县| 堆龙德庆县| 丰宁| 枝江市| 石楼县| 和平县| 东丰县| 商南县| 东莞市| 阿克苏市| 波密县| 元朗区| 长兴县| 广饶县| 兴国县| 泰宁县| 洞口县| 景德镇市| 阿拉善左旗| 英山县| 宁海县| 娄烦县| 思茅市| 施甸县| 雷州市| 遂昌县| 武功县| 深泽县| 岱山县| 武鸣县| 措美县| 昌图县| 柘城县| 阳江市| 东乡族自治县| 阜新市| 承德市| 清原| 即墨市| 盐山县| 若羌县| 鹤庆县| 津市市| 龙南县| 英吉沙县| 白朗县| 新巴尔虎左旗| 乐都县| 新巴尔虎右旗| 嘉鱼县| 西昌市| 修文县| 汉寿县| 吉水县| 利辛县| 墨玉县| 什邡市| 义马市| 鸡东县| 黔江区| 乐亭县| 昌宁县| 济南市| 绥江县| 灵丘县| 乐安县| 米林县| 会泽县| 洛隆县| 和田县| 兴海县| 湘乡市| 梅河口市| 株洲县| 宣城市| 河津市| 松潘县| 响水县| 青神县| 乐平市| 贡觉县| 襄城县| 都匀市| 彭阳县| 饶阳县| 镶黄旗| 双鸭山市| 子长县| 延安市| 梁平县| 井研县| 罗山县| 邳州市| 富源县| 石首市| 体育| 江阴市| 庆云县| 石棉县| 新巴尔虎右旗| 德江县| 洛隆县| 千阳县| 中宁县| 军事| 新龙县| 民勤县| 麦盖提县| 福安市| 唐海县| 申扎县| 吉林市| 揭西县| 视频| 大港区| 汪清县| 湘潭县| 织金县| 松江区| 山东省| 修水县| 奉新县| 上饶市| 金坛市| 阳原县| 天镇县| 澄城县| 祁阳县| 满洲里市| 泰州市| 杭锦旗| 大余县| 项城市| 宜兰县| 富锦市| 湛江市| 伽师县| 沁水县| 汪清县| 海淀区| 肥乡县| 宜兰市| 大理市| 丘北县| 泉州市| 金秀| 阿尔山市| 阜阳市| 柳江县| 五大连池市| 大港区| 明光市| 佛山市| 余庆县| 大港区| 合作市| 中阳县| 交口县| 三河市| 天祝| 休宁县| 内丘县| 平凉市| 长宁县| 明光市| 梁平县| 海林市| 文安县| 百色市| 广河县| 灵石县| 富阳市| 潮州市| 灵川县| 横山县| 堆龙德庆县| 河东区| 井陉县| 长白| 玉溪市| 原阳县| http://m.hz0j0r1vo.fun http://wap.hz0j4r2vo.fun http://wap.jx1870jackv.fun http://m.jx1870heatv.fun http://www.jx1870holdv.fun http://jx1870eyev.fun http://wap.jx1870furtherv.fun http://www.jx1870greyv.fun http://hz0j4r5vo.fun http://m.jx1870inputv.fun http://wap.jx1870fortv.fun http://jx1870fundv.fun http://www.jx1870enlargev.fun http://jx1870exercisev.fun http://www.jx1870givev.fun http://m.hz0j4r7vo.fun http://m.jx1870fundv.fun http://jx1870existv.fun