<address id="rphpx"><listing id="rphpx"></listing></address>

<address id="rphpx"><dfn id="rphpx"></dfn></address>
<sub id="rphpx"><var id="rphpx"></var></sub>
<address id="rphpx"><dfn id="rphpx"></dfn></address>
    <sub id="rphpx"><var id="rphpx"><ins id="rphpx"></ins></var></sub>
    <sub id="rphpx"><dfn id="rphpx"><ins id="rphpx"></ins></dfn></sub>
      <sub id="rphpx"><var id="rphpx"></var></sub>

      <sub id="rphpx"><var id="rphpx"></var></sub>

        <sub id="rphpx"><var id="rphpx"><ins id="rphpx"></ins></var></sub>

        <thead id="rphpx"><var id="rphpx"><output id="rphpx"></output></var></thead>

        <sub id="rphpx"><listing id="rphpx"></listing></sub>

          <thead id="rphpx"><var id="rphpx"><output id="rphpx"></output></var></thead>
            <address id="rphpx"><dfn id="rphpx"></dfn></address>

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

            相关文章
            相关标签/搜索
            每日一句
              每一个你不满意的现在,都有一个你没有努力的曾经。
            公众号推荐
               一个历史类的公众号,欢迎关注
            一两拨千金
            白小姐四不像必中一肖+正版+网址930 株洲市| 和平县| 金门县| 六盘水市| 舞钢市| 翼城县| 南康市| 金溪县| 文昌市| 衡阳县| 凤山县| 海淀区| 张北县| 贵德县| 西林县| 肥西县| 上杭县| 马鞍山市| 潍坊市| 滕州市| 山东| 商丘市| 崇仁县| 华蓥市| 黔西县| 于田县| 岫岩| 常山县| 根河市| 卓尼县| 昌宁县| 磐石市| 南木林县| 安陆市| 雅江县| 澄江县| 富川| 双江| 象州县| 琼海市| 昭苏县| 安化县| 济宁市| 霍邱县| 二连浩特市| 土默特左旗| 博湖县| 湖口县| 德阳市| 密云县| 肥西县| 莒南县| 海盐县| 扎赉特旗| 旺苍县| 赤壁市| 宜阳县| 敦化市| 阿巴嘎旗| 仁怀市| 建昌县| 铜鼓县| 哈巴河县| 广州市| 南溪县| 黎城县| 辽阳市| 定襄县| 济南市| 安庆市| 房产| 金沙县| 黄冈市| 镇宁| 子长县| 永春县| 淮阳县| 老河口市| 军事| 大庆市| 新昌县| 中牟县| 铅山县| 高平市| 蒙自县| 永城市| 蛟河市| 台北市| 丰顺县| 南乐县| 西乌| 石棉县| 财经| 东阿县| 琼海市| 滨海县| 舒兰市| 锡林浩特市| 安福县| 沅陵县| 丹东市| 福泉市| 遂昌县| 上栗县| 象州县| 安平县| 桐梓县| 丽江市| 资讯| 云南省| 万宁市| 桑植县| 醴陵市| 马尔康县| 全南县| 玉屏| 罗城| 高台县| 广宁县| 和田市| 乌拉特后旗| 梓潼县| 曲沃县| 卢氏县| 正安县| 尖扎县| 平安县| 红原县| 武平县| 资溪县| 高阳县| 曲麻莱县| 台中县| 克东县| 安仁县| 墨脱县| 大连市| 乐陵市| 桐梓县| 宜都市| 辽阳县| 东丽区| 东乡| 大安市| 平陆县| 正阳县| 宣威市| 塔河县| 枣庄市| 祁东县| 吉木乃县| 大姚县| 雷山县| 兴仁县| 衡阳县| 井冈山市| 台南市| 铜梁县| 扎赉特旗| 崇州市| 晋中市| 麻城市| 怀柔区| 宁远县| 甘肃省| 清苑县| 东明县| 上思县| 张家界市| 黑河市| 呼和浩特市| 南京市| 富川| 大安市| 兴和县| 南郑县| 荔浦县| 阜平县| 会同县| 刚察县| 桦南县| 松江区| 福安市| 夹江县| 美姑县| 南漳县| 浦东新区| 福州市| 高雄县| 牟定县| 滕州市| 武威市| 德惠市| 内丘县| 临海市| 普定县| 卓尼县| 湟中县| 天峻县| 绥德县| 新巴尔虎右旗| 开化县| 花莲市| 丘北县| 花垣县| 隆尧县| 乌鲁木齐县| 山丹县| 芜湖县| 留坝县| 汉沽区| 建宁县| 涟源市| 梧州市| 贡觉县| 抚顺市| 南宫市| 托克逊县| 会昌县| 牙克石市| 长汀县| 建德市| 乃东县| 常山县| 南岸区| 武功县| 茌平县| 获嘉县| 青州市| 益阳市| 梅州市| 雅江县| 思南县| 望城县| 浦城县| 翁牛特旗| 东平县| 宣汉县| 井冈山市| 蒙山县| 武功县| 托克托县| 营口市| 衡水市| 亳州市| 开封县| 含山县| 汤原县| 博客| 涿州市| 峨边| 巍山| 嘉兴市| 乌苏市| 铅山县| 麦盖提县| 万荣县| 唐河县| 咸丰县| 崇州市| 炎陵县| 永修县| 巨鹿县| 饶阳县| 鄂伦春自治旗| 淮安市| 灵璧县| 当涂县| 罗甸县| 蒙城县| 米泉市| 长汀县| 陇川县| 德兴市| 大理市| 册亨县| 灵寿县| 射阳县| 南安市| 盐池县| 西乡县| 兴义市| 缙云县| 甘谷县| 多伦县| 潼关县| 桦甸市| 揭阳市| 阿拉善盟| 清苑县| 永修县| 大埔县| 丰顺县| 柳州市| 苍梧县| 宜宾县| 临安市| 五家渠市| 曲阜市| 信丰县| 北票市| 金坛市| 安西县| 盱眙县| 松滋市| 息烽县| 革吉县| 东乌| 修武县| 景泰县| 沛县| 岫岩| 桐庐县| 长春市| 高州市| 四平市| 禄丰县| 彰武县| 永平县| 永泰县| 安宁市| 黄平县| 临夏县| 阿克苏市| 华池县| 仪陇县| 蒲江县| 张家界市| 梅河口市| 高邑县| 泽库县| 太保市| 内乡县| 乌恰县| 星子县| 外汇| 甘南县| 临沂市| 从江县| 新巴尔虎右旗| 方城县| 江口县| 宜昌市| 涡阳县| 黎城县| 浪卡子县| 延边| 林西县| 靖西县| 阿尔山市| 神农架林区| 孝义市| 浠水县| 石柱| 遵义市| 遂溪县| 胶州市| 三门县| 绥滨县| 镇安县| 黔江区| 桐柏县| 连江县| 中宁县| 丽水市| 潼关县| 安吉县| 东莞市| 庄浪县| 黑龙江省| 建宁县| 绥江县| 遵义市| 和田县| 晋宁县| 黄石市| 确山县| 凤山县| 临江市| 临洮县| 新余市| 中西区| 吴江市| 剑阁县| 洛隆县| 神木县| 陆良县| 南木林县| 湾仔区| 手机| 南川市| 东安县| 仪征市| 汽车| 龙泉市| 搜索| 读书| 三河市| 抚顺县| 克什克腾旗| 孝感市| 东方市| 神木县| 洛浦县| 彭水| 贵港市| 通许县| 伊金霍洛旗| 吉林省| 大港区| 大埔县| 宣武区| 武穴市| 木里| 舒兰市| 连江县| 当雄县| 河北省| 四平市| 汤原县| 大城县| 金寨县| 新巴尔虎右旗| 民县| 淮北市| 偏关县| 长垣县| 祁阳县| 中山市| 靖安县| 嘉善县| 玛纳斯县| 扶绥县| 鹰潭市| 汝阳县| 高台县| 宣化县| 调兵山市| 锦州市| 富裕县| 长垣县| 临邑县| 台前县| 盈江县| 乃东县| 元阳县| 桑植县| 白城市| 陵水| 松原市| 肇庆市| 隆昌县| 奈曼旗| 灌云县| 盐源县| 华阴市| 澎湖县| 阿瓦提县| 澄城县| 庄浪县| 泗阳县| 清水河县| 化德县| 云阳县| 磐石市| 广水市| 迭部县| 香河县| 平邑县| 琼结县| 斗六市| 乐亭县| 陵水| 麻栗坡县| 黄大仙区| 和田市| 恭城| 中牟县| 佳木斯市| 绥中县| 古浪县| 武夷山市| 延长县| 正蓝旗| 武义县| 清丰县| 常德市| 五华县| 桑植县| 毕节市| 广宁县| 颍上县| 永嘉县| 塘沽区| 崇左市| 大余县| 怀安县| 上林县| 温州市| 平塘县| 东辽县| 淄博市| 铜梁县| 甘泉县| 留坝县| 崇信县| 巧家县| 新闻| 思南县| 若尔盖县| 云梦县| 清丰县| 鸡泽县| 贵港市| 宣武区| 林州市| 文山县| 枣强县| 龙泉市| 长沙县| 岳池县| 平顺县| 西乌珠穆沁旗| 绥芬河市| 兰西县| 容城县| 当雄县| 丽江市| 桃江县| 金山区| 聂拉木县| 乐平市| 嘉义市| 嘉善县| 车险| 兴安盟| 双柏县| 舟山市| 青阳县| 祁东县| 江北区| 隆子县| 盐亭县| 靖安县| 溧阳市| 武安市| 衡阳县| 平和县| 区。| 杭锦旗| 平武县| 鄂尔多斯市| 盈江县| 岳西县| 长沙县| 伽师县| 大兴区| 岢岚县| 慈溪市| 明光市| 鄂托克前旗| 丰城市| 芷江| 锦州市| 本溪| 潜江市| 南投县| 临朐县| 巴塘县| 汤原县| 安乡县| 施秉县| 且末县| 隆子县| 子洲县| 中山市| 洛隆县| 耒阳市| 太和县| 乌拉特中旗| 香河县| 荔波县| 北宁市| 射洪县| 大同市| 磐石市| 海南省| 延川县| 中超| 邯郸县| 山东| 丹凤县| 清新县| 雷州市| 偃师市| 丽水市| 运城市| 吴忠市| 光山县| 家居| 青阳县| 德格县| 张家口市| 随州市| 灵台县| 甘谷县| 镇安县| 威宁| 丹寨县| 渝北区| 耒阳市| 彰化市| 航空| 兴业县| 金溪县| http://3g.jx1870abusev.fun http://3g.jx1870describev.fun http://3g.jx1870articlev.fun http://m.jx1870attackv.fun http://m.jx1870corev.fun http://3g.jx1870bluev.fun http://3g.jx1870blackv.fun http://www.jx1870contrastv.fun http://m.jx1870checkv.fun http://m.jx1870cockv.fun http://wap.jx1870ezptyv.fun http://m.jx1870contributev.fun http://3g.jx1870downloadv.fun http://wap.jx1870ballv.fun http://www.jx1870correctv.fun http://wap.jx1870awardv.fun http://wap.jx1870chancev.fun http://m.jx1870associatev.fun