webpack——entry,output/

entry:打包入口

代码的入口,找到依赖模块

打包的入口,webpack去哪个文件找依赖,或是去那个文件依赖的依赖

可以是一个或者多个入口

例如:

1.module.exports={
entry:‘index.js‘
}

这个module.exports对象是webpack的配置,配置有一个属性就是entry,entry属性的值就是一个文件名index.js,也可以加一个路径,只要可以找到文件

2.module.exports={
entry:[‘index.js‘,‘vendor.js‘]
}

这里entry属性的值就是一个数组,这就是根据一个文件创建多个入口

3.module.exports={
entry:{

  index:‘index.js‘,

  vendor:‘vendor.js‘

}
}

这里entry属性的值就是一个对象,这个方式相较于前两个的不同是,这里可以知道文件叫什么,可以有一个key,如果想要继续添加一个入口可以继续增加key,扩展性较好

output:输出

打包成文件,对打包文件进行描述

可以是一个或者多个

自定义规则

配合CDN

例如:

1.

module.exports={
entry:‘index.js‘,
output:{
filename:‘index.min.js‘
}
}

单个输入配单个输出,filename就是输出文件名

2.

module.exports={
entry:{
index:‘index.js‘,
vendor:‘vendor.js‘
},
output:{
filename:‘[name].min.[hash:5].js‘
}
}

[name].min.[hash:5].js这就是自定义规则了,name表示entry的name,如果entry的name是index,[name]就是index,[hash:5]是webpack打包过程中的独一无二的标识码

loaders:出来js之外的东西

处理文件

转化为模块:把文件转化为js可以认识模块

例如:

module.exports={
module:{
rules:[
{
test:/\.css$/,
user:‘css-loader‘
}
]
}
}

可以看到这里有一个对module.exports等于一个对象,然后对module的一个定义,一个rules数组,数组是对不同文件的定义,test:/\.css$/,是对后缀为.css的文件的定义,user是使用css-loader文件

常用loader:

编译相关:babel-loader、ts-loader

样式相关:

style-loader、css-loader、less-loader、postcss-loader

文件相关:

file-loader、url-loader

plugins:其他功能插件

参与打包整个过程

打包优化和压缩

配置编译时的变量

极其灵活

例如

const webpack=require(‘webpack‘);

module.exports={
plugins:[
new webpack.optimize.UglifyJsPlugin()
]
}

plugins下的数组是对plugins的使用

常用plugins

优化相关:CommonsChunkPlugin  UglifyjsWebpackPlugin

功能相关:ExtractTextWebpackPlugin  HtmlWebpackPlugin HotModuleReplacementPlugin  CopyWebpackPlugin

Chunk:代码块

bundle:已经被打包过后的

Module:模块

原文地址:https://www.cnblogs.com/ellen-mylife/p/10622746.html

时间: 2024-10-17 12:12:04

webpack——entry,output/的相关文章

webpack entry和output配置属性

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

webpack入门,看这篇就足够了!

一.什么是webpack?为什么要使用它? Webpack 是一个前端资源加载/打包工具.它将根据模块的依赖关系进行静态分析,然后将这些模块按照指定的规则生成对应的静态资源. 为什么我们要使用它呢?因为现今的很多网页,它们拥有复杂的JavaScript代码和一大堆依赖包,开发起来比较耗时耗力.为了简化开发复杂度, 前端社区涌现出很多好的实践方法:模块化.Sass/Less等CSS预处理器......这些改进确实大大提高了我们的开发效率,但是利用它们开发的文 件往往需要进行额外的处理才能让浏览器识

超详细解锁Webpack步骤,跟着我左手右手一个慢动作~~~来吧小伙伴们 一起学起来~~; 如果有坑,可以跟着我跳进去再跳出来哦~~内附填坑操作

webpack 核心 entry: 入口 output: 输出 loader: 模块转换器,用于把模块原内容按照需求转换成新内容 插件(plugins): 扩展插件,在webpack构建流程中的特定时机注入扩展逻辑来改变构建结果或做你想要做的事情 新建一个文件夹 使用 npm init -y 进行初始化(也可以使用 yarn). 会生成一个package.json npm init -y 安装 webpack.webpack-cli:     执行完后会下载包,生成一个node_modules文

webpack安装,常见问题和基本插件使用

一:webpack认识 本质上,webpack 是一个现代 JavaScript 应用程序的静态模块打包器(module bundler).当 webpack 处理应用程序时,它会递归地构建一个依赖关系图(dependency graph),其中包含应用程序需要的每个模块,然后将所有这些模块打包成一个或多个 bundle. 二:webpack安装 安装准备: 1:安装node最新版本 2:安装npm 成功安装后可cmd查看,可以查看版本号则成功了第一步 全局安装: cmd安装 这样安装一般都是最

安装webpack后,执行webpack -v命令时报错:SyntaxError: Block-sc

安装webpack后,执行webpack -v命令时报错如下: [[email protected] ~]# webpack -v /usr/local/node-v4.4.7-linux-x64/lib/node_modules/webpack/bin/webpack.js:3 let webpackCliInstalled = false; ^^^ SyntaxError: Block-scoped declarations (let, const, function, class) not

webpack : 无法加载文件 D:\nodejs\node_global\webpack.ps1,因为在此系统上禁止运行脚本。

通过vs code 运行webpack进行打包时,报错webpack : 无法加载文件 D:\nodejs\node_global\webpack.ps1,因为在此系统上禁止运行脚本. 解决方案: 以管理员身份运行vs code 执行:get-ExecutionPolicy,显示Restricted,表示状态是禁止的 执行:set-ExecutionPolicy RemoteSigned 这时再执行get-ExecutionPolicy,就显示RemoteSigned 此时发现再进行打包就没有问

vue-cli的webpack模版,相关配置文件dev-server.js与webpack.config.js配置解析

1.下载vue-cli [html] view plain copy npm install vue-cli -g vue-cli的使用与详细介绍,可以到github上获取https://github.com/vuejs/vue-cli 2.安装webpack项目模版 [html] view plain copy vue init <template-name> <project-name> 比如: [html] view plain copy vue init webpack m

webpack4.41.0配置一(基础配置webpack文件,入口出口,实现打包)

1.查看node.js版本.npm版本和webpack版本(使用webpack4时,请确保node.js的版本>=8.9.4) 2.我先重新卸载了webpack和webpack-cli(全局) npm uninstall -g webpack-cli npm uninstall -g webpack 3.全局安装webpack-cli和webpack npm install webpack-cli -g npm install webpack -g 4.测试一下webpack4的新特性,不用配置

万能的Entry,两个变量的Model/JavaBean再也不用写了!

前言 很多时候传数据需要只含两个变量的Model/JavaBean,但就为了两个变量去写一个Model/JavaBean实在是麻烦,而且类型固定重用性低.比如: 1.网格显示的头像-名称 需要 String-String类型的一个GridBean 2.日期选择器的Item 需要Boolean-String类型的一个GridPickerItemBean 3.Http请求类参数 需要String-Object类型的一个Parameter ... 有什么方法可以不用写一大堆这样的自定义Model/Ja