3 回答
TA贡献1842条经验 获得超21个赞
您可以让一个文件导入所有图像,例如
//images/index.js
import image1 from './image1.png'
import image2 from './image2.png'
.
.
export default {
image1,
image2,
.
.
}
您可以从此处导出的对象动态访问图像
import images from './images/index.js'
images['image1']
// or dynamically
let name = 'image2'
images[name]
TA贡献1821条经验 获得超4个赞
您可以尝试:
用于import浏览器和nodejs
const picture = (await import(`../path/to/file/${this.props.picPath}`)); // this is async
用于require浏览器和nodejs
const picture = require(`../path/to/file/${this.props.picPath}`); // this is sync
使用readFileSyncfromfs仅用于nodejs
const fs = require('fs')
// or: import fs from 'fs'
const file = fs.readFileSync(`../path/to/file/${this.props.picPath}`).toString()
使用readFilefromfs仅用于nodejs
const fs = require('fs')
// or: import fs from 'fs'
const file = (await fs.readFile(`../path/to/file/${this.props.picPath}`)).toString()
提示#1:
当你使用require时,它只能处理json和js文件,但是当你使用import时,它可以处理svg等东西。但是您可以应用一些技巧,例如:
// in tsconfig.json
"include": [
"./declarations.d.ts",
],
// in declaration.d.ts
declare module '*.png';
提示#2:
当你想导入像这样的图像时png,你应该定义它是如何工作的:
declare module "*.png" {
const value: any;
export default value;
}
提示 #3 在 javascript 中,您可以使用和 来使用模板文字。``
${}
const name = "John" console.log(`Hello ${name}`);
TA贡献1815条经验 获得超10个赞
我首先想到的是创建无状态组件,它将获取您的标志对象并显示具有特定路径的标签。它不会像 React 建议的那样导入,但它会完成工作 :) 相反,如果你真的想使用 React 方法,你可以使用 require 而不是导入。
添加回答
举报