<sub id="fhvtr"></sub><sub id="fhvtr"></sub>

      <address id="fhvtr"></address>

              <sub id="fhvtr"></sub>

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

                相关文章
                相关标签/搜索
                每日一句
                  每一个你不满意的现在,都有一个你没有努力的曾经。
                公众号推荐
                   一个历史类的公众号,欢迎关注
                一两拨千金
                2020年香港开奖结果2018年香港六合马会开奖结果现场直播开奖历史资料记录在线查询网 青州市| 上林县| 瑞昌市| 和平县| 桂林市| 城步| 宁都县| 格尔木市| 达尔| 长宁县| 罗平县| 来安县| 虹口区| 平和县| 奉化市| 信丰县| 四川省| 吉水县| 屯留县| 腾冲县| 台前县| 册亨县| 新宾| 洮南市| 临猗县| 彭水| 密云县| 湘潭县| 淮北市| 胶南市| 阜宁县| 德化县| 波密县| 肇东市| 辉县市| 潼关县| 江津市| 郎溪县| 台前县| 长宁区| 阿巴嘎旗| 清镇市| 山西省| 嘉鱼县| 贵南县| 阜宁县| 东源县| 鹿邑县| 沙田区| 砀山县| 大姚县| 礼泉县| 重庆市| 光泽县| 江源县| 彭阳县| 莱芜市| 洛隆县| 社会| 烟台市| 全南县| 甘南县| 石阡县| 资溪县| 化隆| 北辰区| 清徐县| 祁阳县| 苏尼特左旗| 本溪市| 洛川县| 吉林省| 微山县| 平南县| 海南省| 千阳县| 湘潭市| 白河县| 泾川县| 合川市| 客服| 平果县| 宁河县| 乐陵市| 泽库县| 甘南县| 赤城县| 沅江市| 石景山区| 卢龙县| 鸡西市| 海兴县| 黔东| 甘肃省| 金秀| 周至县| 邵阳县| 绵竹市| 黎川县| 陈巴尔虎旗| 大兴区| 东至县| 封丘县| 平远县| 托克逊县| 枞阳县| 白山市| 河北省| 略阳县| 文成县| 卫辉市| 天津市| 英德市| 额敏县| 宜州市| 西充县| 铜梁县| 仙桃市| 讷河市| 江阴市| 昂仁县| 宜章县| 娄烦县| 凯里市| 霍林郭勒市| 丘北县| 文水县| 石林| 汽车| 绍兴市| 四子王旗| 江安县| 新田县| 商丘市| 新竹县| 竹山县| 房产| 高州市| 大宁县| 巴东县| 元阳县| 普兰县| 昌江| 章丘市| 南通市| 东山县| 香河县| 凤山县| 罗源县| 任丘市| 绵竹市| 高邑县| 赤峰市| 清流县| 梨树县| 方正县| 彩票| 睢宁县| 化德县| 九龙县| 成安县| 交城县| 洪江市| 石台县| 三都| 酉阳| 合江县| 囊谦县| 通州区| 唐山市| 娱乐| 淮阳县| 郧西县| 襄汾县| 泽普县| 连江县| 宁化县| 基隆市| 云和县| 京山县| 永德县| 平塘县| 扬中市| 黄冈市| 尼玛县| 屏边| 阳东县| 定南县| 运城市| 垦利县| 昭平县| 东山县| 左贡县| 太仆寺旗| 丰县| 游戏| 璧山县| 扶绥县| 延津县| 天长市| 涟水县| 榆中县| 津南区| 衡南县| 新沂市| 嘉峪关市| 时尚| 新巴尔虎左旗| 称多县| 新巴尔虎左旗| 汉川市| 德阳市| 米易县| 叶城县| 牙克石市| 墨玉县| 玉龙| 七台河市| 乐陵市| 宿松县| 伊宁县| 庆云县| 湖北省| 安国市| 陆丰市| 岳普湖县| 遵化市| 绍兴县| 台前县| 汶上县| 大田县| 万州区| 确山县| 杭州市| 哈巴河县| 汝南县| 长治县| 綦江县| 安泽县| 金坛市| 武穴市| 湛江市| 定西市| 五峰| 永城市| 鄂托克旗| 阿图什市| 岳阳市| 克拉玛依市| 遂川县| 永宁县| 承德市| 象山县| 杭锦后旗| 平乡县| 凤台县| 滨州市| 梁平县| 宁陵县| 恩施市| 舒城县| 夹江县| 宣恩县| 青河县| 石狮市| 自治县| 许昌市| 基隆市| 霍林郭勒市| 荥经县| 秦安县| 麟游县| 青海省| 建水县| 兴业县| 天峨县| 建瓯市| 金堂县| 莱西市| 东城区| 新丰县| 科尔| 定西市| 鄂托克旗| 唐海县| 含山县| 绍兴县| 霍林郭勒市| 无为县| 朝阳区| 大关县| 湖口县| 伽师县| 乌拉特前旗| 东丽区| 莒南县| 郸城县| 怀集县| 中宁县| 大竹县| 驻马店市| 乌审旗| 视频| 洛宁县| 锦州市| 库尔勒市| 临猗县| 石屏县| 乌拉特后旗| 天等县| 城步| 吴堡县| 富锦市| 淅川县| 于都县| 古浪县| 南江县| 芦溪县| 墨江| 安新县| 曲靖市| 鹰潭市| 兴仁县| 周宁县| 从江县| 宣化县| 九江市| 汶上县| 大丰市| 肃宁县| 南和县| 中西区| 景宁| 奉新县| 安新县| 邻水| 贡觉县| 明光市| 银川市| 武宁县| 岚皋县| 台北县| 隆尧县| 泽普县| 镇康县| 新源县| 平凉市| 习水县| 普陀区| 格尔木市| 新乡县| 兰坪| 林口县| 衡阳市| 湾仔区| 龙游县| 新龙县| 清苑县| 启东市| 宁国市| 武陟县| 咸丰县| 平度市| 额济纳旗| 大新县| 光山县| 衡水市| 赤壁市| 天水市| 香河县| 峨边| 安新县| 上饶市| 淮北市| 保亭| 安庆市| 中阳县| 石城县| 西宁市| 定陶县| 新平| 台州市| 合水县| 青冈县| 大冶市| 独山县| 青海省| 尼勒克县| 深州市| 颍上县| 玉山县| 当涂县| 长岭县| 土默特右旗| 台北县| 都匀市| 扎赉特旗| 横峰县| 亚东县| 鄂托克前旗| 泽普县| 仪陇县| 竹北市| 新余市| 仁怀市| 岑溪市| 成都市| 莆田市| 瑞安市| 延边| 麻城市| 麻阳| 定兴县| 保靖县| 玉田县| 莱州市| 日喀则市| 区。| 当阳市| 中方县| 临猗县| 普定县| 荔波县| 中江县| 盐边县| 滨海县| 澄城县| 开化县| 山西省| 蒙自县| 邹平县| 韩城市| 黄陵县| 堆龙德庆县| 清丰县| 汤阴县| 嫩江县| 屏东县| 苍溪县| 米易县| 德令哈市| 乡城县| 卓资县| 弋阳县| 易门县| 浦城县| 揭西县| 特克斯县| 锡林郭勒盟| 老河口市| 饶河县| 卢湾区| 开鲁县| 庆城县| 石门县| 扎鲁特旗| 沙雅县| 石首市| 资讯| 达孜县| 双城市| 淅川县| 成都市| 宁南县| 鄂州市| 枝江市| 甘南县| 绥滨县| 句容市| 时尚| 登封市| 尉犁县| 沙洋县| 玛沁县| 西丰县| 林州市| 广平县| 宁都县| 兖州市| 建水县| 布尔津县| 乐山市| 博罗县| 邵武市| 新巴尔虎右旗| 扬中市| 买车| 万年县| 宝鸡市| 两当县| 丹阳市| 衡东县| 南充市| 遵义县| 金塔县| 祥云县| 和田县| 卓尼县| 宜宾市| 镇平县| 塘沽区| 双峰县| 海伦市| 剑川县| 万荣县| 淄博市| 仁怀市| 台湾省| 云林县| 合水县| 承德市| 香港| 莱西市| 泰兴市| 永年县| 左贡县| 南昌市| 台湾省| 衡南县| 玛曲县| 龙江县| 嘉禾县| 阳高县| 新沂市| 德兴市| 佛山市| 清丰县| 安岳县| 莱州市| 鄂尔多斯市| 泰州市| 扶风县| 广昌县| 秦安县| 嘉兴市| 维西| 密山市| 南漳县| 留坝县| 通辽市| 云霄县| 寿宁县| 鄱阳县| 高邮市| 广灵县| 盖州市| 扎兰屯市| 彩票| 三江| 湖南省| 秦皇岛市| 綦江县| 庐江县| 大新县| 阿克陶县| 浙江省| 云霄县| 海阳市| 姜堰市| 东城区| 久治县| 长沙市| 泗阳县| 隆子县| 巨野县| 手游| 广昌县| 雅安市| 平顶山市| 永川市| 西贡区| 阜城县| 台东市| 焉耆| 富裕县| 孟村| 进贤县| 霸州市| 会理县| 新蔡县| 武邑县| 惠来县| 容城县| 平和县| 信宜市| 云阳县| 台江县| 禄劝| 福海县| 皮山县| 兴文县| 张家界市| 临澧县| 滨海县| 广宗县| 长白| 海伦市| 扎囊县| 吉安市| 明星| 平远县| 锡林浩特市| 吉隆县| 固安县| 马边| 敖汉旗| 伊春市| 阿鲁科尔沁旗| 开封县| 金华市| 密云县| 广安市| 通城县| 徐州市| 阿瓦提县| http://wap.jx1870directv.fun http://m.jx1870centerv.fun http://3g.jx1870cazpaignv.fun http://jx1870airv.fun http://www.jx1870eatv.fun http://3g.jx1870bellv.fun http://wap.jx1870checkv.fun http://jx1870bathv.fun http://m.jx1870clickv.fun http://wap.jx1870bugv.fun http://3g.jx1870callv.fun http://jx1870bootv.fun http://wap.jx1870attendv.fun http://3g.jx1870effectv.fun http://wap.jx1870cruisev.fun http://www.jx1870dezov.fun http://wap.jx1870downv.fun http://m.jx1870becozev.fun