使用npm和webpack构建工作环境

本文介绍了如何使用ES6语法并借助Webpack构建现代前端开发环境。通过npm安装所需依赖,并利用babel转换ES6代码为浏览器兼容的ES5,实现代码模块化管理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

之前说到我想要用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了,到现在为止,一个简单的环境搭建和实际应用就完成了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值