我正在使用文件加载器来引用资源(例如图像),但它返回undefined
:
项目文件
(dist/*
文件由webpack生成)
dist/
f74c4286ea273ec33454127cc4d1dee7.png
main.js
img/
img.jpg
src/
index.ts
tsconf.json
webpack.config.js
webpack.config.ts
const path = import("path");
module.exports = {
mode: "development",
entry: "./src/index.ts",
output: {
path: path.resolve(__dirname, "dist")
},
module: {
rules: [
{
test: /\.ts$/,
use: { loader: "ts-loader" }
},
{
test: /\.png$/,
use: { loader: "file-loader" }
}
]
}
};
tsconfig.json
{
"include": ["./src/*.ts"]
}
的src / index.ts
import A from "../img/img.png";
import * as B from "../img/img.png";
console.log('A', A);
console.log('B', B);
结果
A undefined
B f74c4286ea273ec33454127cc4d1dee7.png
(我知道我应该配置webpack来设置公共文件夹,但重点不在那里)
如果我在js中执行相同的最小代码,通过删除ts-loader,tsconfig.json并将index.ts重命名为index.js,它在两种情况下都能正常工作......为什么?