所謂動態圖片指的是接口返回的圖片地址,這裏的地址指的是本地的圖片地址,而非網絡圖片的url。
本地有一個 image 文件夾,存放須要用到的圖片。按照接口返回的圖片地址比對去加載。
webpack加載圖片首先想到的是 file-loader 或者 url-loader
首先安裝file-loader
npm install file-loader --save-dev
增長webpack配置,詳細文檔請參考 file-loaderjavascript
... module: { rules: [ { test: /\.(png|gif|svg|jpg)$/, use: ["file-loader"] } ] } ...
webpack將一切web資源視爲模塊,其中就包含圖片,
webpack支持commonjs,ES6的模塊規範,因而咱們能夠使用require,以及基於ES6規範的 import() 來加載圖片
這兩種方式有啥區別呢
咱們能夠這樣使用java
const lodash = require('lodash')
還有一個 commonjs異步加載 require.ensure 已經被下文的 import()方法 取代了。webpack
從上咱們能夠看出 import是異步加載,咱們能夠這樣使用git
const module = await import('lodash'); // 或者 import('lodash').then((module) =>{ })
require.context
const file = require.context('../../image', false); const keys = file.keys()
keys會返回 image 裏面已存在的圖片路徑的數組,咱們只要判斷接口返回的圖片地址在本地圖片裏面再去加載
從而避免模塊找不到的問題。github