“工欲善其事必先利其器”,要想学习vue,首先需要我们去了解webpack,便于后期快速构建运行项目。废话不多说,下面开始介绍在开始一个vue项目前我们需要对webpack有一定的了解——webpack敲门篇。

第一步:安装Node.js

  下载地址:http://nodejs.cn/download/

  安装就是傻瓜式的,一直下一步就可以。安装完毕后可以通过cmd输入npm -v查看是否安装成功。//node a.js 可以运行a.js

  npm(node package manage of JavaScript)作用:Node.js下载后自带npm,类似于迅雷,可以下载项目所需的依赖模块/包。

  允许用户从NPM服务器下载别人编写的第三方包到本地使用。

  • 允许用户从NPM服务器下载并安装别人编写的命令行程序到本地使用。

  • 允许用户将自己编写的包或命令行程序上传到NPM服务器供别人使用。

  

  注:npm是国外的,可能会比较慢,建议安装cnpm,安装方法:npm install -g cnpm --registry=https://registry.npm.taobao.org

第二步:npm init初始化生成package.json

  首先建立一个项目文件夹,进入文件夹,shift+右击,出现【在此处打开命令窗口(W)】,点击进入cmd控制台,目录即为当前文件夹目录。然后输入npm init,回车,会出现一些项目有关参数,可一路回车,完成后创建一个package.json。

  package.json用来存放整个项目的依赖模块/包,当我们把整个项目迁移到别的地方使用时,项目运行时会根据package.json的依赖参数自动下载所需模块/包。

第三步:安装webpack

  命令:npm install webpack --save-dev

  测试webpack在本地是否可用,webpack -v 如果出现webpack为无效命令,则使用全局安装webpack:npm install webpack -g --save-dev

  WebPack可以看做是模块打包机:它做的事情是,分析你的项目结构,找到JavaScript模块以及其它的一些浏览器不能直接运行的拓展语言(Scss,TypeScript等),并将其转换和打包为合适的格式供浏览器使用。

  Grunt和Gulp的工作方式是:在一个配置文件中,指明对某些文件进行类似编译,组合,压缩等任务的具体步骤,工具之后可以自动替你完成这些任务。

  

第四步:利用webpack打包模块并运行

  webpack可以解析es6,但注意require请求同级目录文件时(./)也要写,代表同级目录。(../)代表上级目录。

  如果需要把css打包到js文件中,需要安装css加载器,安装命令:npm install --save-dev style-loader css-loader.

  css-loaderstyle-loader,二者处理的任务不同,css-loader使你能够使用类似@importurl(...)的方法实现 require()的功能,style-loader将所有的计算后的样式加入页面中,二者组合在一起使你能够把样式表嵌入webpack打包后的JS文件中。

  (不推荐)手动打包并运行:

# {extry file}出填写默认入口文件index.js的路径
# {destination for bundled file}处填写打包文件的目标存放路径,运行后会自动创建一个bundle.js/build.js
# 填写路径的时候不用添加{}
webpack {entry file} {destination for bundled file} //如webpack ./js/index.js ./dist/bundle.js

  在js文件中引入css文件语法:require('style-loader!css-loader!../css/index.css');注意顺序不能错!

  (推荐)自动打包并运行:

  需要在项目的根目录创建webpack.config.js.项目里配置如下:

module.exports = {
    entry:  __dirname + "/app/main.js",//已多次提及的唯一入口文件
    output: {
        path: __dirname + "/public",//打包后的文件存放的地方
        filename: "bundle.js"//打包后输出文件的文件名
    },
   //配置css加载器的方法试了很多,就这个可以用(rules代替了loaders).
//配置好以后:require('style-loader!css-loader!../css/index.css')就可以写成require('../css/index.css');
   module: {
rules: [ { test: /\.css$/, use: [ { loader: "style-loader" }, { loader: "css-loader" } ] } ] }
}

  

  注:若提示output下path提示不是绝对路径,试着去掉path,finename带上相对路径,即:

output: {
        path: './dist/js/', // 打包后所放的路径
        filename: 'bundle.js'// 打包之后的文件名
}

  改成:

output: {
        filename: './dist/js/bundle.js' // 打包之后的文件名
}

第五步:搭建webpack服务器进行热加载自动刷新

  写到这里,使用webpack一个单词就可以打包运行我们的项目了,但接下来...webpack最牛逼的地方来了——webpack可以像php/java/.net...一样搭建为我们搭建一个服务器,这样就可以热更新项目代码,实现实时运行项目,进而方便我们调试项目。

  1、安装: npm install webpack-dev-server -g

  2、写入到依赖: npm install webpack-dev-server --save-dev

    3、第三步:修改webpack配置文件中的output:

output:{
            path:"/", //注意这里的改变,必须是根目录,指定目录无效,因为webpack会在内存中根目录下生成下面文件名。
            filename:"bundle.js"
}

  4、修改index.html

<script type="text/javascript" src="bundle.js"></script>

  5、运行命令 实现自动刷新: webpack-dev-server --hot --inline

     6、输入localhost:8080/运行...

    说明:webpack-dev-server的默认端口是8080

  讲到这里,算是敲了一下webpack的门,可能还不算事入门,webpack的配置还有很多,详情学习还是需要花很多时间的。但毕竟webpack是工具,学好如何在相应的项目中运用才是最主要的。这里只是简单介绍了如何利用webpack打包文件、如何搭建服务器进行热更新。

  下一篇:如何利用webpack搭建vue的利器——vue-cli(vue脚手架)!

  

  

vue学习前奏——webpack的更多相关文章

  1. Vue学习之Webpack小结(十二)

    一.nrm: nrm是专门用来管理和快速切换私人配置的registry; nrm提供了一些最常用的npm包镜像地址,能够让我们快速的切换安装包时候的服务器地址: 二.镜像: 原来   包    刚一开 ...

  2. Vue学习之webpack调用第三方loader(十五)

    ---恢复内容开始--- 一.webpack 默认只能打包处理 JS 类型的文件,无法处理 其他的非  JS 类型的文件: 如果非要处理 非 JS 类型的文件,我们需要手动安装一些 合适 第三方 lo ...

  3. Vue学习之Webpack基本使用小结(十三)

    一.新建dist 文件夹: 二.新建src文件夹: 在其下面创建 css .js .images文件夹及 index.html.main.js(这是项目Js的主入口) 三.html中简单创建一个列表: ...

  4. Vue学习之webpack中使用vue(十七)

    一.包的查找规则: 1.在项目根目录中找有没有 node_modules 的文件夹: 2.在 node_modules 中根据包名,找对应的vue 文件夹: 3.在vue 文件夹中,找 一个叫做 pa ...

  5. vue学习之webpack

    本质上,Webpack是一个现代 JavaScript应用程序的静态模块打包器(module bundler).当 Webpack处理应用程序时,它会递归地构建一个依赖关系图(dependency g ...

  6. Vue学习笔记-nodejs+vue-cli4+webpack按装配置+项目创建

    一  使用环境: windows 7 64位操作系统 二  Vue学习-nodejs按装配置,Node.js 就是运行在服务端的 JavaScript. 1. 去nodejs的官网下载  https: ...

  7. Vue学习笔记-Vue.js-2.X 学习(四)===>脚手架Vue-CLI(基本工作和创建)

    (五) 脚手架Vue-CLI 一 Vue-CLI前提(nodejs和webpack) 二  Vue学习-nodejs按装配置,Node.js 就是运行在服务端的 JavaScript. 1. 去nod ...

  8. day 83 Vue学习之五DIY脚手架、webpack使用、vue-cli的使用、element-ui

      Vue学习之五DIY脚手架.webpack使用.vue-cli的使用.element-ui   本节目录 一 vue获取原生DOM的方式 二 DIY脚手架 三 vue-cli脚手架的使用 四 we ...

  9. vue学习:vue+webpack的快速使用指南(新手向)

    一.vue有两种使用方式: 1.下载vue.js <script src="vue.js"></script> 2.使用npm npm install vu ...

随机推荐

  1. 201521123082 《Java程序设计》第12周学习总结

    201521123082 <Java程序设计>第12周学习总结 标签(空格分隔): java 1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结多流与文件相关内容. An ...

  2. 201521123121 《JAVA程序设计》第8周学习总结

    1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结集合与泛型相关内容. 1.2 选做:收集你认为有用的代码片段 所有泛型方法声明都有一个类型参数声明部分(由尖括号分隔),该类型参数声 ...

  3. 201521123075 《Java程序设计》第7周学习总结

    1. 本周学习总结 2. 书面作业 1.ArrayList代码分析 1.1 解释ArrayList的contains源代码 源代码为 public boolean contains(Object o) ...

  4. 201521123088《Java程序设计》第6周学习总结

    1. 本周学习总结 2. 书面作业 clone方法1.1 Object对象中的clone方法是被protected修饰,在自定义的类中覆盖clone方法时需要注意什么?                 ...

  5. python学习笔记1.1

  6. Sublime使用Ctrl+`作为快捷键弹出Console没有反映的解决办法

    很多Sublime新人都遇到了这个问题,到网上搜,信息很片面,而且不少都是旧版本的.于是有了这篇文章.       默认Sublime使用Ctrl+`作为快捷键弹出Console,但不同的系统抑或安装 ...

  7. 201521123076 《Java程序设计》第13周学习总结

    1. 本周学习总结 以你喜欢的方式(思维导图.OneNote或其他)归纳总结多网络相关内容. 2. 书面作业 1. 网络基础 1.1 比较ping www.baidu.com与ping cec.jmu ...

  8. 201521123003《Java程序设计》第13周学习总结

    1. 本周学习总结 以你喜欢的方式(思维导图.OneNote或其他)归纳总结多网络相关内容. 2. 书面作业 1. 网络基础 1.1 比较ping www.baidu.com与ping cec.jmu ...

  9. linux (1)基本知识/目录/磁盘格式/文件系统

    一.linux基本知识介绍1.命令行格式:(按两次tab可以知道有多少个可执行命令,我的有1980个,用户有1960个)[用户名@linux主机名 ~(当前目录)]$ 命令 选项 参数1 参数2[ro ...

  10. 框架应用:Spring framework (二) - AOP技术

    基础概念 线程中的方法栈 java程序虚拟机启动时会载入程序码,虚拟机会为每一条正在运行的线程生成一个方法调用栈,线程以方法运行为执行单位. AOP概念以及目标 AOP是面向切面编程,其实就是在不修改 ...