使用npm和webpack构建工作环境

来源:互联网 发布:搜款网服饰网络批发 编辑:程序博客网 时间:2024/05/16 07:41

之前说到我想要用ES6的import来导入模块,但是想要使用ES6的话就需要对代码进行转码,这就关系到工作环境的搭建了。

以前的工作没有工作环境的说法,用的都是很传统的东西,require,jq,bootstrap之类的,都是做简单引入,没有转码压缩打包之类的步骤。这次学习构建工作环境,将是我脱离老一套,跟上时代的第一步。

说回正题,工作环境是什么?在项目的构建中,我们往往会接触到很多压缩转码打包的事情,如果把这些工具都算到项目里面去,那项目肯定是相当大的。我们希望这些工具和繁琐的过程都在项目构建的时候完成,用户使用的是我们已经打包转码好的文件,这个时候node就能出场了,通过node,我们可以方便地使用npm加载项目所需要的库和加载器,然后通过webpack进行转码和打包,最终输出目标文件给用户,下面简单介绍一下环境的搭建。

首先是npm,作为node的包管理工具,仅需一行指令就能很方便地加载各种库和工具,这是我的配置文件package.json:

{  "name": "wimenlodemo",  "version": "1.0.0",  "description": "my first SPA demo",  "main": "main.js",  "scripts": {    "test": "echo \"Error: no test specified\" && exit 1"  },  "keywords": [    "spa",    "vue",    "webpack"  ],  "author": "wimenlo",  "license": "MIT",  "devDependencies": {    "babel": "^6.23.0",    "babel-core": "^6.24.1",    "babel-loader": "^7.0.0",    "vue-html-loader": "^1.2.4",    "vue-loader": "^12.0.3",    "vue-template-compiler": "^2.1.0",    "webpack": "^2.5.1"  },  "dependencies": {    "vue": "^2.3.3",    "vue-router": "^2.5.3"  }}

这个文件会在输入指令:npm install 后启用(如果当前没有package.json文件的话则要使用:npm init 自行创建)。具体内容是什么意思网上各种教程已经很清楚了,不再累赘,这里要注意一个地方:devDependencies是指在开发环境中使用的工具,在npm中手动加载的时候需要加上 --save-dev 参数,这些工具并不会加入到用最终的户文件中。而dependencies则是项目的依赖文件,用户使用项目的时候需要用到,所以会打包进最终的用户文件中,在npm中手动加载的时候要加上 --save 参数。

加载完成后,在项目的根目录中就会多出一个 node_modules 的文件夹,里面就是我们需要用到的工具了。

需要的工具已经准备好了,那么要怎么使用呢?我的目标是把ES6转成浏览器能读懂的ES5,那么就需要用到babel(上面已经加载进来了),这时候就需要用到webpack了。这是我的webpack配置文件 webpack.config.js:

var path=require("path");//path是node提供的一个对象,用来处理文件路径module.exports={//CommonJS的模块定义写法    entry:'./src/main.js',//定义入口,webpack以这个文件为基础去判断依赖和加载(可以有多个)    output:{//定义输出        path:path.join(__dirname,'./dist'),//输出路径        filename:'index.js',//输出文件的名称        publicPath:'/dist'//虚拟路径,在html引入文件时使用的路径    },    module:{        rules:[//加载规则(以前是loader)            {                test:/\.js$/,//获取特定尾缀文件                loader:'babel-loader',//定义加载器                exclude: /node_modules///exclude表示该路径内容不需加载,include则表示需要加载            },            {                test:/\.vue$/,                loader:'vue-loader'            }        ]    }};

这个需要好好地理解一下,所以我把注释都写上去了。在写好配置文件之后,我们就可以开始使用ES6的语法编写项目,之后在node中运行webpack,就可以在dist文件中中发现新建的index.js了,到现在为止,一个简单的环境搭建和实际应用就完成了。

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 淘宝禁运品怎么办呢 货物退回日本了怎么办 淘宝卖家寄多了衣服怎么办 集运地址选错怎么办 淘宝卖韩国化妆品退货怎么办 去韩国留学手机怎么办 韩国办无线网怎么办 淘宝卖家被骗怎么办 淘宝买软件被骗怎么办 被淘宝店诈骗怎么办? 支付宝被骗2000怎么办 给私人打款后不发货怎么办 毕业证寄丢了怎么办 微商下单返现被骗一千四怎么办 淘宝买东西卡里多扣钱怎么办 付款了卖家不发货怎么办 淘宝客服不解决问题怎么办 淘宝未付款订单怎么办 淘宝被限制购买怎么办 苹果官换机维修过怎么办 iphone x官换机坏了怎么办 小娃不要大人睡怎么办? 深度睡眠太少怎么办 踏板摩托车淹缸怎么办 电喷摩托车淹缸怎么办 踏板摩托不过油怎么办 火花塞被汽油淹怎么办 踏板车淹缸了怎么办 电喷汽车淹缸怎么办 踏板摩托车粘缸怎么办 鬼火打不着火怎么办 踏板摩托车没电怎么办 买摩托车被骗了怎么办 鬼火电瓶坏了怎么办 摩托闷油了怎么办 鬼火发不着火怎么办 淘宝买东西发错货了怎么办 咸鱼售假处罚怎么办 趣头条登录不上怎么办 淘宝集运超租怎么办 淘宝发货多发了怎么办