1.优化第一步--选用引入方式 在前面的学习中我们对于如何引入第三方类库(Jquery)推荐了两种方式,第一种是import引入的方式,第二种是ProvidePlugin插件.那两种引入方法有什么区别那? import引入方法:引用后不管你在代码中使用不使用该类库,都会把该类库打包起来,这样有时就会让代码产生冗余.(引用即打包) ProvidePlugin引入方法:引用后只有在类库使用时,才按需进行打包,所以建议在工作使用插件的方式进行引入. (按需打包) 因此在日常开发中选用ProvidePl…
在日常的开发中,总避免不了引入第三方的框架,比如常用的JQuery,此节我们来学习一下如何优雅并正确的用webpack引入第三方库. 这里我们以第三方框架JQuery为例: 1.在入口文件中引入 1.1  安装JQuery npm install --save jquery 由于Jquery最终要在生产环境中使用,所以要使用–save进行安装. 1.2 在入口文件(entry.js)中引入 安装好后,我们使用import引入到entry.js文件中. import $ from 'jquery'…
在webpack1或者webpack2版本中,若想在webpack环境中加载Json文件,则需要加载一个json-loader的loader进来的.但是在webpack3.x版本中,则不需要在另外引入了,也可使用Json. 下面以webpack3.x为例来说明在webpack中如何使用json.(主要是读取Json内容) 1. webpack中如何使用json 第一步:创建json数据 在根目录下新建一个config.json文件,里面新增如下内容: { "name": "w…
工作中会有一些已经存在但在项目中没有引用的图片资源或者其他静态资源(比如设计图.开发文档),这些静态资源有可能是文档,也有可能是一些额外的图片,而在打包时保留这些静态资源,直接打包到指定文件夹中.此时就需要使用到copy-webpack-plugin这个插件了. copy-webpack-plugin:静态资源转移的插件. 1.copy-webpack-plugin的使用 1.1 静态资源 在src目录下,新建一个存放静态资源的文件夹public(假设里面有大量的静态资源(图片.文件等)) 1.…
在前面的学习中,我们一直使用webpack-dev-server充当(本地)服务器和完成打包任务,但是当出项目团队联合开发,共同使用一个服务器时,这时候我们需要实时进行打包以确保团队间能进行联调或者进行相关代码的合并工作时,每次保存后手动打包显然效率太低,我们需要的是代码发生变化后,只要保存,webpack自动为我们进行打包.这就得谈到本节中说到的watch工具了. 因为watch是webpack自带的插件,所以我们只需要配置就行了. 1.直接进行使用 1.1  修改我们的package.jso…
1. 概述 生产环境和开发环境所需依赖是不同: --开发依赖:就是开发中用到而发布时用不到的.在package.json里面对应的就是devDependencies下面相关配置. --生产依赖: 就是比如我们的javascript使用了jquery,而我们最终的程序也需要这个包(最终程序正常运行需要的).这个包就在package.json下的dependencies中. 2. npm安装方式对比 假如我们要在项目中使用jquery库.采用(2.1~2.3三种方式) 2.1 全局安装 npm in…
搞个小例子便于学习: 具体操作为把上节中的webpack.config.js中的entry入口文件进行模块化设置,单独拿出来制作成一个模块. 1.在根目录新建一个config文件,然后新建webpack.entry.js文件,代码如下: webpack.entry.js: //声明entry变量 const entry ={}; //声明路径属性 entry.path={ entry:'./src/entry.js' } //进行模块化 module.exports =entry; 2.entr…
随着项目大了,后端与前端联调,我们不需要每一次都去打包,这样特别麻烦,我们希望的场景是,每次按保存键,webpack自动为我们打包,这个工具就是watch! 因为watch是webpack自带的插件,所以我们只需要配置就行了 1.在webpack.config.js中配置: watchOptions:{ poll:1000,//监测修改的时间(ms) aggregeateTimeout:500, //防止重复按键,500毫米内算按键一次 ignored:/node_modules/,//不监测…
package.json中,devDependencies和dependencies是不同的 devDependencies:开发依赖 dependencies:生产依赖(线上) 1.安装生产环境的依赖包: cnpm install --production 2.配置生产环境和开发环境并行: 我们在以前的配置中设置了一个变量website,用于静态资源正确找到路径.那如果生产环境和开发环境不一样,而且我们需要来回切换,这时候我们需要更好的设置方法. var website={ publicPat…
首先在根目录,新建一个webpack_config文件夹,然后新建entry_webpack.js文件,代码如下: const entry ={}; //声明entry变量 entry.path={ entry:'./src/entry.js' //声明路径属性 } module.exports =entry;//进行模块化 2.在webpack.config.js中引入 const entry = require('./webpack_config/entry_webpack.js'); 3.…