为什么导入默认值在TypeScript中返回“undefined”

时间:2018-03-26 15:27:19

标签: typescript webpack webpack-file-loader

我正在使用文件加载器来引用资源(例如图像),但它返回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,它在两种情况下都能正常工作......为什么?

0 个答案:

没有答案