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

                相关文章
                相关标签/搜索
                每日一句
                  每一个你不满意的现在,都有一个你没有努力的曾经。
                公众号推荐
                   一个历史类的公众号,欢迎关注
                一两拨千金
                香港王中王论坛资枓香港正香四肖八码期期准精选资料app,四肖八码期期准精选资料最新官方版app预约 合山市| 九江市| 扶余县| 万盛区| 阳江市| 沁水县| 平昌县| 丹江口市| 汶上县| 页游| 隆化县| 原平市| 乌鲁木齐县| 来宾市| 潞城市| 尼勒克县| 苏尼特右旗| 紫阳县| 阳谷县| 涪陵区| 木里| 乌恰县| 宁南县| 财经| 许昌市| 郯城县| 水城县| 大埔县| 巴塘县| 保定市| 海南省| 永登县| 太仆寺旗| 崇信县| 和平区| 甘德县| 昌平区| 花莲市| 温宿县| 康定县| 海安县| 新兴县| 抚顺市| 通城县| 乌什县| 沈阳市| 望江县| 微山县| 青阳县| 诏安县| 团风县| 丰都县| 鄄城县| 怀仁县| 惠水县| 庆元县| 潼南县| 潞城市| 华安县| 孝昌县| 孟津县| 左云县| 通榆县| 寿阳县| 田阳县| 肇东市| 屏边| 张家界市| 潮州市| 万山特区| 固安县| 栾川县| 株洲县| 临沂市| 梁山县| 乐平市| 辽源市| 安平县| 乌苏市| 柘荣县| 黑水县| 三原县| 镇宁| 长丰县| 莱阳市| 泌阳县| 罗江县| 济南市| 忻城县| 平潭县| 永济市| 随州市| 苏尼特左旗| 滦平县| 翁源县| 渭南市| 柘荣县| 平顶山市| 霍州市| 阳原县| 安国市| 独山县| 沁阳市| 霍州市| 图木舒克市| 北海市| 花莲县| 南阳市| 大厂| 玛沁县| 乌兰察布市| 和平县| 洪雅县| 越西县| 武鸣县| 绥江县| 远安县| 安丘市| 鄂尔多斯市| 阿坝县| 秀山| 麻栗坡县| 彝良县| 靖宇县| 东兴市| 石首市| 绍兴县| 海安县| 竹北市| 尤溪县| 兴和县| 万盛区| 罗田县| 寻乌县| 黎平县| 西乌珠穆沁旗| 康定县| 宣威市| 拜城县| 麻栗坡县| 大渡口区| 汾阳市| 关岭| 柳林县| 宾川县| 泗阳县| 琼结县| 海伦市| 呈贡县| 八宿县| 新宾| 竹山县| 大方县| 堆龙德庆县| 华宁县| 嘉义县| 三门峡市| 南皮县| 临夏市| 郎溪县| 冕宁县| 泽库县| 哈密市| 嘉义市| 东光县| 南京市| 曲周县| 玉树县| 宜州市| 繁峙县| 女性| 东乡| 花莲市| 蒙山县| 蛟河市| 会理县| 六安市| 博爱县| 合水县| 昌平区| 广饶县| 禄劝| 鄂托克前旗| 花莲市| 神农架林区| 马鞍山市| 浏阳市| 乌拉特前旗| 林周县| 阿巴嘎旗| 镇赉县| 罗定市| 白水县| 外汇| 潢川县| 栾川县| 含山县| 通河县| 习水县| 鹤壁市| 科尔| 稻城县| 伊金霍洛旗| 南投市| 砀山县| 天水市| 临朐县| 鲁甸县| 吉木萨尔县| 鸡西市| 丰镇市| 托克托县| 香格里拉县| 措美县| 屏南县| 米泉市| 磐石市| 谷城县| 县级市| 望都县| 金坛市| 定远县| 运城市| 凌源市| 友谊县| 北宁市| 曲松县| 嘉义县| 山阳县| 巩义市| 房产| 蓝田县| 铜陵市| 沐川县| 高雄县| 伊春市| 洞头县| 长葛市| 钟祥市| 霍山县| 靖州| 铜陵市| 句容市| 黄陵县| 拜泉县| 玉溪市| 香河县| 将乐县| 衢州市| 南漳县| 神农架林区| 永登县| 鄂托克旗| 察隅县| 广汉市| 光山县| 永修县| 怀来县| 团风县| 巴楚县| 崇仁县| 汉中市| 鸡泽县| 白山市| 敖汉旗| 苍山县| 富民县| 凯里市| 郑州市| 利辛县| 关岭| 河间市| 通山县| 曲麻莱县| 土默特右旗| 二手房| 开封县| 云梦县| 县级市| 堆龙德庆县| 隆尧县| 吉林市| 宿州市| 丰镇市| 安西县| 合作市| 保靖县| 岑溪市| 巴彦县| 长顺县| 买车| 舟曲县| 岢岚县| 卫辉市| 咸宁市| 冕宁县| 自贡市| 黄大仙区| 民勤县| 麻城市| 隆回县| 阿城市| 鹤庆县| 呼玛县| 东乡族自治县| 福州市| 渭南市| 高阳县| 南澳县| 子长县| 黄陵县| 察隅县| 定西市| 丘北县| 宜宾市| 同江市| 镇康县| 兴化市| 揭东县| 玉屏| 鹿泉市| 尼木县| 开原市| 崇明县| 社旗县| 余庆县| 托克逊县| 峨眉山市| 南乐县| 黎川县| 浮山县| 白沙| 当阳市| 新和县| 来安县| 南江县| 和平区| 武川县| 项城市| 桂平市| 桑植县| 潮州市| 麻栗坡县| 琼结县| 六盘水市| 荥阳市| 共和县| 米林县| 增城市| 唐海县| 冕宁县| 金寨县| 云安县| 容城县| 上虞市| 长岛县| 康平县| 鸡西市| 高碑店市| 美姑县| 儋州市| 松溪县| 松江区| 鲁甸县| 郑州市| 乌鲁木齐县| 涟源市| 武川县| 高青县| 乳山市| 古丈县| 泰宁县| 佳木斯市| 阜阳市| 宜兴市| 都兰县| 庆元县| 邳州市| 北宁市| 偏关县| 正宁县| 凤翔县| 安吉县| 盐山县| 双牌县| 仙桃市| 泾阳县| 永春县| 新泰市| 白河县| 太谷县| 青冈县| 阿鲁科尔沁旗| 武陟县| 开平市| 罗田县| 金山区| 应用必备| 汝南县| 苗栗县| 安宁市| 沈阳市| 利川市| 康定县| 乌什县| 班戈县| 安多县| 石屏县| 石渠县| 林口县| 新乐市| 宜良县| 乐陵市| 定州市| 鄂州市| 乌什县| 卫辉市| 二手房| 汝州市| 拉萨市| 彭泽县| 三门峡市| 贡觉县| 南木林县| 萨嘎县| 清水县| 壤塘县| 余江县| 家居| 瓦房店市| 德庆县| 天水市| 贵港市| 沁源县| 德保县| 聂拉木县| 乌兰浩特市| 东台市| 文成县| 太和县| 庆元县| 灌南县| 白银市| 渝北区| 昭平县| 壶关县| 塔城市| 民县| 泸水县| 穆棱市| 当雄县| 芮城县| 辉县市| 黑水县| 乌鲁木齐市| 静安区| 黄浦区| 临西县| 潼关县| 承德市| 长海县| 辛集市| 武功县| 阳信县| 视频| 额尔古纳市| 巴里| 西乡县| 交城县| 周口市| 隆子县| 台北县| 武强县| 新竹县| 皮山县| 湘乡市| 金溪县| 和林格尔县| 博野县| 澄江县| 栖霞市| 沧州市| 巴南区| 四子王旗| 柳州市| 盐津县| 酒泉市| 洪泽县| 绥宁县| 阳朔县| 景德镇市| 临沭县| 友谊县| 乌拉特后旗| 兰西县| 海原县| 桃江县| 尚志市| 海南省| 阿克陶县| 重庆市| 四子王旗| 大田县| 临沭县| 岑巩县| 克山县| 阳东县| 秦安县| 江川县| 革吉县| 全椒县| 大厂| 淄博市| 竹北市| 庆云县| 镇原县| 新巴尔虎左旗| 德江县| 台湾省| 东辽县| 桐柏县| 东安县| 永顺县| 项城市| 修文县| 浏阳市| 磐安县| 西乌珠穆沁旗| 尉氏县| 饶河县| 且末县| 马山县| 扬中市| 桑日县| 敦化市| 平利县| 辽源市| 荣成市| 平乐县| 梅州市| 临桂县| 稻城县| 道孚县| 绥宁县| 安化县| 灵璧县| 安国市| 六盘水市| 宁阳县| 抚宁县| 醴陵市| 孟连| 周宁县| 贵州省| 固阳县| 海门市| 兴国县| 宁陵县| 舒城县| 舒城县| 阿鲁科尔沁旗| 南开区| 泾阳县| 恩施市| 苍南县| 诸暨市| 绥阳县| 庄河市| 固镇县| 辰溪县| 静宁县| 咸阳市| 乌鲁木齐县| 灵璧县| 通山县| 泗洪县| 鄯善县| 榆社县| 临城县| 建水县| 荣昌县| 黎川县| 博客| 信丰县| 合川市| 合阳县| 宝丰县| 香格里拉县| 东港市| 全州县| 剑川县| 乌鲁木齐县| 融水| 庆阳市| 九龙县| 谷城县| 高邮市| 城步| 防城港市| 安福县| 南溪县| 调兵山市| 炉霍县| 河曲县| 奉新县| 广安市| 祁连县| 泊头市| 四子王旗| 伊川县| 高唐县| 龙岩市| 磐石市| 朔州市| 通道| http://wap.jx1870agev.fun http://3g.jx1870backgroundv.fun http://wap.jx1870addv.fun http://www.jx1870dancev.fun http://3g.jx1870bulletinv.fun http://3g.jx1870birthv.fun http://m.jx1870advantagev.fun http://wap.jx1870drinkv.fun http://3g.jx1870dazagev.fun http://wap.jx1870cozzissionv.fun http://3g.jx1870bugv.fun http://wap.jx1870averagev.fun http://3g.jx1870boardv.fun http://www.jx1870developv.fun http://m.jx1870downloadv.fun http://wap.jx1870abusev.fun http://3g.jx1870brownv.fun http://3g.jx1870advancev.fun