1、entry

entry的三种配置方式:

(1)传递字符串:

单个入口语法:传递一个字符串

entry: './src/js/main.js',

(2)传递数组

将创建“多个主入口(multi-main entry),并且将它们的依赖导向(graph)到一个“chunk”时。

entry: ['./src/js/main.js','./src/js/a.js'],

示例,webpack.config.js文件为:

module.exports = {

    //打包入口
entry: ['./src/js/main.js','./src/js/a.js'],
//打包后的文件
output: {
//不加__dirname 会报错 //path:__dirname +'./dist/js',
//filename:'bundle.js'
//以上2行window下报错 path: __dirname,
filename: './dist/js/bundle.js' }
}

执行命令:

npm run webpack

效果为文件合并到一个文件中了,如下:

(3)传递对象

webpack.config.js文件为:

module.exports = {

    //打包入口
entry: {
main: './src/js/main.js',
a: './src/js/a.js'
},
//打包后的文件
output: {
//不加__dirname 会报错 //path:__dirname +'./dist/js',
//filename:'bundle.js'
//以上2行window下报错 path: __dirname, //注意:使用[name]确保每个文件名都不重复
filename: './dist/js/[name].js' }
}

注意:

你应该使用以下的替换方式来确保每个文件名都不重复。

[name] 被 chunk 的 name 替换。

[hash] 被 compilation 生命周期的 hash 替换。

[chunkhash] 被 chunk 的 hash 替换

2、output

output.filename

指定硬盘每个输出文件的名称。在这里你不能指定为绝对路径!

文件hash码:

module.exports = {

    //打包入口
entry: {
main: './src/js/main.js',
a: './src/js/a.js'
},
//打包后的文件
output: {
//不加__dirname 会报错 //path:__dirname +'./dist/js',
//filename:'bundle.js'
//以上2行window下报错 path: __dirname,
//注意:使用[name]确保每个文件名都不重复
filename: './dist/js/[name]-[hash].js' }
}

执行命令:

npm run webpack

结果:

[hash] 每个文件的hash都一样,文件的hash为打包的hash。

module.exports = {

    //打包入口
entry: {
main: './src/js/main.js',
a: './src/js/a.js'
},
//打包后的文件
output: {
//不加__dirname 会报错 //path:__dirname +'./dist/js',
//filename:'bundle.js'
//以上2行window下报错 path: __dirname,
//注意:使用[name]确保每个文件名都不重复
filename: './dist/js/[name]-[chunkhash].js' }
}

使用[chunkhash] 文件的hash都不一样,也与打包hash不一样,这里的hash是文件的MD5值

webpack entry和output配置属性的更多相关文章

  1. webpack——entry,output,plugins,loader,chunk知识

    entry:打包入口 代码的入口,找到依赖模块 打包的入口,webpack去哪个文件找依赖,或是去那个文件依赖的依赖 可以是一个或者多个入口 例如: 1.module.exports={ entry: ...

  2. webpack2的配置属性说明entry,output,state,plugins,node,module,context

    Webpack2配置属性详解 webpack说明 webpack是前端构建的一个核心所在,如果说后端构建就是把高级语言代码编译成机器码,那么前端的构建就是重新组合原有的代码,虽然并不编译成机器码,但实 ...

  3. webpack学习(五)entry和output的基础配置

    1:entry和output就是打包的入口和出口的两个对象.但是如果入口文件就一个的话(应该说只希望打包出一个脚本文件), entry直接跟一个字符串(入口文件路径)就可以了.如:entry : &q ...

  4. Webpack探索【4】--- entry和output详解

    本文主要讲entry和output相关内容.

  5. webpack学习笔记—webpack安装、基本配置

    文章结构: 什么是webpack? 安装webpack 'webpack基本配置 一.什么是webpack? 在学习react时发现大部分文章都是react和webpack结合使用的,所以在学reac ...

  6. webpack安装、基本配置

    文章结构: 什么是webpack? 安装webpack webpack基本配置 一.什么是webpack? 在学习react时发现大部分文章都是react和webpack结合使用的,所以在学react ...

  7. webpack 从0 手动配置

    1. npm init 2. npm install -D webpack webpack-cli 3. 创建webpack入口文件( 默认 webpack.config.js 可以通过 webpac ...

  8. webpack 2.6.1配置笔记

    2017-09-11更新:更新到webpack 2.6.1所对应的配置,完善部分代码注释. 由于最近在vue-cli生成的webpack模板项目的基础上写一个小东西,开发过程中需要改动到build和c ...

  9. 详解webpack-dev-server的配置属性

    1.devServer.contentBase   它指定了服务器资源的根目录,如果不写入contentBase的值,那么contentBase默认是项目的目录. 在上面例子中产生错误和后来解决错误的 ...

随机推荐

  1. Oracle中NVARCHAR2与VARCHAR2的相互转换

    将NVARCHAR2转换为VARCHAR2: declare v_username   varchar2(12)   ; v_nm_login   nvarchar2(12); begin selec ...

  2. 老生常谈ajax

    一,js中的ajax ajax(Asynchronous Javascript And XML)即为异步的JavaScript和XML,顾名思义,这个技术是和我们当前页面刷新无关的,因为它是异步的,在 ...

  3. MAC之查看日历

    命令:cal   查看当前月份 命令: cal  04  2001  查看2001年的4月份 echo命令: 打印信息

  4. Error while loading shared libraries: libpq.so.5: cannot open shared object file: No such file or directory

    32位系统:ln -s /opt/base/3.3/lib/libpq.so.5 /usr/lib/libpq.so.5 64位系统:ln -s /opt/base/3.3/lib/libpq.so. ...

  5. oracle 表空间自己主动扩展大小

    select a.FILE_NAME,a.AUTOEXTENSIBLE,a.MAXBYTES,a.INCREMENT_BY  from  dba_data_files a; --AUTOEXTENSI ...

  6. Vue Cli安装以及使用

      因为公司项目要用vue框架,所以会用vue-cli来新建项目.用过vue的都知道,要全局安装vue以及脚手架vue-cli,然后执行vue init webpack projectname来新建v ...

  7. water-and-jug-problem

    以下这个解法也是参考了一些讨论: https://leetcode.com/discuss/110235/c-solution-using-euclidean-algorithm 还有这个解释原理的, ...

  8. 点云数据(point cloud) 【转】

    转自caimagic的专栏 一:什么是点云数据 点云数据是指在一个三维坐标系统中的一组向量的集合.这些向量通常以X,Y,Z三维坐标的形式表示,而且一般主要用来代表一个物体的外表面形状.不经如此,除(X ...

  9. 解决报错"Your security system have blocked an application with expired or not yet valid certificate from running"

    方法如下: Go to Control Panel Java in the Security tab click the "Edit Site List-" button clic ...

  10. svn报错can only be performed on a version resource [at this time].

    报错 can only be performed on a version resource [at this time].   有的文件能提交,有的文件不能提交 猜想:是不是因为缓存问题方法:tea ...