<address id="bjbhz"><dfn id="bjbhz"><output id="bjbhz"></output></dfn></address><address id="bjbhz"><dfn id="bjbhz"></dfn></address>
        <address id="bjbhz"><dfn id="bjbhz"></dfn></address>

        <sub id="bjbhz"><var id="bjbhz"><mark id="bjbhz"></mark></var></sub>
          <sub id="bjbhz"><var id="bjbhz"></var></sub>
          <sub id="bjbhz"><var id="bjbhz"><ins id="bjbhz"></ins></var></sub>

          <address id="bjbhz"><var id="bjbhz"></var></address>
          <address id="bjbhz"><dfn id="bjbhz"></dfn></address>

          <address id="bjbhz"><listing id="bjbhz"><ins id="bjbhz"></ins></listing></address>

            <thead id="bjbhz"></thead>

          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进行一个深入学习了。

          相关文章
          相关标签/搜索
          每日一句
            每一个你不满意的现在,都有一个你没有努力的曾经。
          公众号推荐
             一个历史类的公众号,欢迎关注
          一两拨千金
          管家婆香港2018年资料四肖期期准铁算盘4887开奖结果四肖三期内必出刘伯温6374cm刘伯温168最快开奖现场开马开奖结果天天彩票 定陶县| 班玛县| 滦平县| 蓬溪县| 成都市| 岳西县| 汝州市| 渭源县| 南部县| 长治县| 天台县| 漳平市| 乾安县| 凤台县| 荆州市| 林周县| 正安县| 乳山市| 闵行区| 吉木乃县| 建始县| 深州市| 合水县| 偏关县| 金溪县| 伊川县| 丹江口市| 临海市| 上饶县| 扎鲁特旗| 永仁县| 潜江市| 余姚市| 南通市| 庄浪县| 大同县| 怀远县| 鹤壁市| 新化县| 鹤庆县| 木兰县| 金门县| 页游| 台湾省| 黄龙县| 隆回县| 舒城县| 铜鼓县| 大悟县| 喀什市| 平舆县| 绿春县| 博客| 宿迁市| 漠河县| 南召县| 嘉祥县| 翁源县| 颍上县| 宜昌市| 县级市| 潮州市| 客服| 邛崃市| 扎赉特旗| 苏尼特右旗| 安西县| 建阳市| 双流县| 务川| 商城县| 英山县| 洪雅县| 衡南县| 剑阁县| 南阳市| 敦化市| 祁门县| 大足县| 靖宇县| 澄城县| 兴隆县| 青铜峡市| 丹寨县| 新疆| 平舆县| 天柱县| 维西| 永济市| 西贡区| 五华县| 车致| 深泽县| 宜宾市| 平遥县| 祥云县| 海兴县| 上虞市| 随州市| 临清市| 信宜市| 利川市| 揭东县| 隆尧县| 衡南县| 大名县| 和政县| 龙海市| 台东市| 杨浦区| 鄱阳县| 沅江市| 巧家县| 出国| 临清市| 高邮市| 泸水县| 肥城市| 斗六市| 榆林市| 麻城市| 福鼎市| 岳池县| 天峻县| 襄汾县| 萝北县| 绥化市| 缙云县| 洪湖市| 龙川县| 应城市| 将乐县| 邮箱| 全南县| 保定市| 临颍县| 塔城市| 扶绥县| 巴里| 同仁县| 鞍山市| 东乡县| 兰考县| 永德县| 福贡县| 惠东县| 奉化市| 赤城县| 千阳县| 东源县| 芜湖市| 青海省| 东兴市| 睢宁县| 蒙阴县| 玛沁县| 浮山县| 仪征市| 太湖县| 宿迁市| 镶黄旗| 西丰县| 静海县| 冕宁县| 兴化市| 天祝| 米脂县| 鹿邑县| 疏附县| 建昌县| 新密市| 德昌县| 基隆市| 太原市| 桦川县| 西峡县| 东源县| 靖安县| 怀仁县| 中宁县| 澄江县| 佳木斯市| 泾川县| 砀山县| 当雄县| 双城市| 兴义市| 彭阳县| 邯郸县| 宽甸| 嘉祥县| 石狮市| 乐安县| 本溪市| 大荔县| 铜鼓县| 海宁市| 象州县| 潜山县| 手机| 永安市| 五指山市| 英吉沙县| 固镇县| 英德市| 保康县| 东平县| 武胜县| 彝良县| 南乐县| 阿拉善左旗| 东辽县| 德清县| 中宁县| 漳平市| 容城县| 湖南省| 南溪县| 保山市| 黑河市| 莱芜市| 平武县| 蓬溪县| 山阳县| 同德县| 白水县| 乐至县| 荣昌县| 手机| 灌云县| 天祝| 石棉县| 伊宁县| 抚州市| 长兴县| 郧西县| 隆子县| 阿克陶县| 南江县| 渑池县| 罗江县| 长沙市| 宁德市| 休宁县| 年辖:市辖区| 瑞金市| 太白县| 育儿| 黎平县| 高阳县| 霍州市| 葫芦岛市| 永昌县| 日土县| 积石山| 翁源县| 林州市| 清流县| 霞浦县| 沧州市| 巴塘县| 苏尼特右旗| 苗栗县| 三亚市| 静海县| 龙井市| 赞皇县| 伊金霍洛旗| 汶上县| 河源市| 博白县| 会同县| 玉山县| 凤凰县| 丹阳市| 荃湾区| 英吉沙县| 大英县| 新建县| 峨边| 恭城| 凌云县| 嘉峪关市| 塘沽区| 仪征市| 辽源市| 赤城县| 西青区| 晴隆县| 吉首市| 喀喇沁旗| 屏山县| 瑞金市| 高台县| 巴彦县| 兴义市| 东台市| 鄄城县| 郧西县| 中江县| 大荔县| 同仁县| 通辽市| 平原县| 渝中区| 常州市| 卓尼县| 陆良县| 安阳县| 湖口县| 西贡区| 丽水市| 古蔺县| 九台市| 即墨市| 商城县| 广元市| 礼泉县| 新闻| 雷州市| 宝丰县| 东乡县| 庐江县| 日照市| 宜丰县| 怀仁县| 水富县| 奉贤区| 恩施市| 姚安县| 都兰县| 望江县| 当阳市| 赫章县| 新宾| 深水埗区| 肃南| 江山市| 宜春市| 安平县| 澎湖县| 安泽县| 澄江县| 芦溪县| 汽车| 高碑店市| 济宁市| 贵德县| 阜新市| 文成县| 湖口县| 襄城县| 永登县| 营口市| 邢台市| 田林县| 龙岩市| 额尔古纳市| 河北省| 灵宝市| 平山县| 修水县| 沅江市| 临夏县| 满城县| 安吉县| 扬中市| 江北区| 九寨沟县| 石首市| 河池市| 定安县| 越西县| 惠水县| 长乐市| 文化| 分宜县| 绥滨县| 石门县| 庆云县| 门源| 马鞍山市| 南城县| 岳池县| 资兴市| 谷城县| 五莲县| 华容县| 芦溪县| 石柱| 沅江市| 铁岭县| 岑巩县| 白城市| 元朗区| 辉县市| 丹巴县| 正镶白旗| 铁岭县| 于都县| 双流县| 金阳县| 岑巩县| 泽普县| 司法| 兴仁县| 水富县| 沂源县| 辽阳县| 临清市| 汪清县| 忻城县| 舒城县| 龙山县| 同德县| 额尔古纳市| 错那县| 保康县| 建始县| 铜梁县| 衡东县| 沭阳县| 页游| 柳州市| 和平县| 武宁县| 焉耆| 堆龙德庆县| 长武县| 内乡县| 隆化县| 宜章县| 莱西市| 西畴县| 车险| 泾阳县| 青海省| 岗巴县| 丽江市| 深圳市| 合肥市| 张北县| 高台县| 万州区| 应用必备| 兴山县| 张家川| 曲阳县| 鸡东县| 大田县| 广州市| 陇西县| 都安| 巍山| 自治县| 黔江区| 德州市| 遂川县| 界首市| 白沙| 崇仁县| 靖远县| 潜江市| 靖边县| 依安县| 扶绥县| 庆城县| 新宾| 迭部县| 尉犁县| 丘北县| 抚州市| 友谊县| 都安| 沂水县| 岢岚县| 灵台县| 凤翔县| 万宁市| 交口县| 天全县| 绍兴市| 上蔡县| 陇南市| 古交市| 中江县| 德令哈市| 新疆| 虞城县| 临泉县| 河津市| 黄骅市| 鹤庆县| 永川市| 老河口市| 上高县| 平安县| 松溪县| 韩城市| 吉水县| 乡城县| 裕民县| 策勒县| 昔阳县| 阿尔山市| 泰来县| 临夏市| 达州市| 南漳县| 济宁市| 土默特右旗| 若羌县| 安仁县| 白朗县| 平谷区| 松阳县| 双流县| 广宁县| 冕宁县| 华坪县| 萨嘎县| 凭祥市| 汉源县| 丁青县| 谷城县| 金华市| 扎鲁特旗| 昭苏县| 荔浦县| 屏东市| 宁津县| 都匀市| 都安| 武清区| 明溪县| 恩施市| 嘉兴市| 樟树市| 宣恩县| 周宁县| 界首市| 杨浦区| 读书| 武定县| 烟台市| 五大连池市| 双辽市| 建水县| 建湖县| 会宁县| 汪清县| 双流县| 刚察县| 深泽县| 曲阳县| 西盟| 尼玛县| 通海县| 岳池县| 古田县| 莎车县| 广丰县| 佛教| 滨州市| 柞水县| 汪清县| 洛宁县| 高尔夫| 德惠市| 高密市| 民乐县| 湘西| 新闻| 贵州省| 丹寨县| 安陆市| 龙口市| 乌拉特前旗| 裕民县| 电白县| 宝清县| 墨竹工卡县| 新安县| 沙湾县| 云和县| 兴仁县| 北辰区| 平南县| 平昌县| 息烽县| 叶城县| 海原县| 平罗县| 望谟县| 高青县| 辽宁省| 油尖旺区| 阳春市| 奉贤区| 泽库县| 望江县| 察雅县| 阿荣旗| 九江县| 清远市| 苗栗县| 泰顺县| 汝南县| 浦北县| 廉江市| 安化县| 长汀县| 唐海县| 大关县| 泗阳县| http://wap.hz0j1r1vo.fun http://m.jx1870getv.fun http://wap.jx1870followv.fun http://m.jx1870journeyv.fun http://m.hz0j1r4vo.fun http://jx1870gradev.fun http://jx1870golfv.fun http://m.jx1870giftv.fun http://jx1870graduatev.fun http://www.jx1870husbandv.fun http://jx1870givev.fun http://wap.jx1870growv.fun http://m.jx1870hatv.fun http://www.hz0j1r6vo.fun http://jx1870jobv.fun http://m.jx1870fallv.fun http://m.jx1870leaguev.fun http://m.jx1870exitv.fun