demo__image_loader
环境
webpack4.x
文件结构
│ package.json
│ webpack.config.js
│ yarn.lock
│
├─dist
│ 1f871aa58.png
│ bundle.js
│ index.html
│
├─node_modules
└─src
├─img
│ 1.png
│
└─js
app.js
文件内容(app.js)
//创建img标签,并使用引入的图片文件
let src = require('../img/1.png');
let img = new Image();
img.src = src;
img = document.querySelector("body").appendChild(img);
方法1:file-loader
package.json
{
"name": "file",
"version": "1.0.0",
"main": "index.js",
"license": "MIT",
"devDependencies": {
"file-loader": "^4.0.0",
"webpack": "^4.33.0",
"webpack-cli": "^3.3.3"
}
}
webpack.config.js
const path = require('path');
module.exports = {
entry: {
app: './src/js/app.js'
},
output: {
filename: 'bundle.js',
path: path.join(path.resolve(__dirname), 'dist')
},
mode: 'development',
module: {
rules: [{
test: /\.(jpg|png|gif)$/,
use: {
loader: 'file-loader',
options: {
name: '[name][hash:8].[ext]'
}
}
}]
}
};
方法2:url-loader(生成文件的话需要file-loader)
package.json
{
"name": "file",
"version": "1.0.0",
"main": "index.js",
"license": "MIT",
"devDependencies": {
"file-loader": "^4.0.0",
"url-loader": "^2.0.0",
"webpack": "^4.33.0",
"webpack-cli": "^3.3.3"
}
}
webpack.config.js
const path = require('path');
module.exports = { entry: { app: './src/js/app.js' }, output: { filename: 'bundle.js', path: path.join(path.resolve(__dirname), 'dist') }, mode: 'development', module: { rules: [ { test: /\.(jpg|png|gif)$/, use : { loader : 'url-loader', options : { limit : 2 * 1024, name: '[name][hash:8].[ext]' } } }] }};
打包(打开index.html可以看见图片)
npx webpack
demo__image_loader的更多相关文章
随机推荐
- 5.配置globals文件(目标端)
mgr进程是goldengate软件执行的主进程.是由这个进程控制其它进程的,比方extract,replicat进程等. 对于mgr进程的配置,将会在以下介绍. global文件我们 ...
- Server Tomcat v8.0 Server at localhost failed to start.
怎么办? 查资料的话别人会告诉你须要删除一个东西.这是一种方法.可是你的错误并不是通过这种方法能够解决. 比方像我 <url-pattern>login</url-pattern&g ...
- POJ 2367 Genealogical tree 拓扑题解
一条标准的拓扑题解. 我这里的做法就是: 保存单亲节点作为邻接表的邻接点,这样就非常方便能够查找到那些点是没有单亲的节点,那么就能够输出该节点了. 详细实现的方法有非常多种的,比方记录每一个节点的入度 ...
- Ajax之XMLHttpRequst对象
XMLHttpRequest对象提供客户端与Http服务器异步通信的协议.通过该协议,Ajax可以使页面像桌面应用程序一样,只同服务器进行数据层的交换,而不用每次都刷新页面,也不用每次将数据处理工作提 ...
- 不仅开源,而且对企业应用完全免费!ExtAspNet弃用GPL v2,拥抱Apache License 2.0(转)
不仅开源,而且对企业应用完全免费!ExtAspNet弃用GPL v2,拥抱Apache License 2.0(转) 提出问题 ExtAspNet开源以来,一直坚持开源免费的原则,但是其GPL v2的 ...
- go语言笔记——go是有虚拟机runtime的,不然谁来做GC呢,总不会让用户自己来new和delete进行内存管理吧,还有反射!Go 的 runtime 嵌入到了每一个可执行文件当中
2.7 Go 运行时(runtime) 尽管 Go 编译器产生的是本地可执行代码,这些代码仍旧运行在 Go 的 runtime(这部分的代码可以在 runtime 包中找到)当中.这个 runtime ...
- POJ1061 青蛙的约会 exgcd
这个题虽然很简单,但是有一个比较坑的地方,就是gcd不一定是1,有可能是别的数.所以不能return 1,而是return a; 题干: Description 两只青蛙在网上相识了,它们聊得很开心, ...
- DStream 转换操作------有状态转换操作
import org.apache.spark.SparkConf import org.apache.spark.streaming.{Seconds, StreamingContext} obje ...
- istio-禁用/允许sidecar设置
一.在namespace设置自动注入: 给 default 命名空间设置标签:istio-injection=enabled: $ kubectl label namespace default is ...
- Kubernetes 集群中使用 Helm 搭建 Spinnaker
在我们部署Spinnaker之前,我们需要一个YAML格式的配置文件,它会包含了一些配置信息.可以从Spinnaker Helm Chart repository[2]获得这个文件. $curl -L ...