commonJS引入文件未解的问题
let falseData = [
{
Id:"A",
ImgUrl:"./images/A.jpg"
},
{
Id:"B",
ImgUrl:"./images/B.jpg"
},
{
Id:"C",
ImgUrl:"./images/C.jpg"
},
]
falseData.forEach((img: any, index: number) =>
banner.push(
<div key={img.Id} className={"swiper-slide "}>
<a
onClick={this.openBanner.bind(this, img.Link)}
style={{
display: "inline-block",
width: "100%"
}}
>
<img
key={index}
src={require(""+img.ImgUrl)}
alt=""
style={{ width: "100%", verticalAlign: "top" }}
onLoad={() => {
// fire window resize event to change height
window.dispatchEvent(new Event("resize"));
this.setState({ imgHeight: "auto" });
}}
/>
</a>
</div>
)
);
src={require(img.ImgUrl)}
这样报错未定义,下面加个引号就可以。
如果定义一个变量
var a = “”+img.ImgUrl
也会报错,只能下面这样写才不会报错
src={require(""+img.ImgUrl)}
ES6 import 未解的问题
出问题的代码
import componentsState from "../componentsState/bbt"
componentDidMount() {
import(`../pages/${componentsState[this.props.componentPath]}`)
.then(Component => {
this.setState({
Component: Component.default,
});
})
.catch(err => {
console.log(err);
});
}
正确的
import componentsState from "../componentsState/bbt"
componentDidMount() {
let a = componentsState[this.props.componentPath];
console.log(`../components/${a}`)
import(`../pages/${a}`)
.then(Component => {
this.setState({
Component: Component.default,
});
})
.catch(err => {
console.log(err);
});
}