Webpack:你可能需要一个合适的加载器来处理这个文件

Mar*_*kov 6 javascript typescript webpack

我正在使用 webpack 设置打字稿,使用awesome-typescript-loader. 但是 webpack 在构建时给了我这个错误:

./src/logic/Something.ts 中的错误

模块解析失败:意外令牌 (2:19) 您可能需要一个适当的加载程序来处理此文件类型。

这是一段代码webpack.config.js

module: {
        loaders: [
            {
                test: /\.(js|jsx)?$/,
                loader: "babel-loader",
                exclude: /node_modules/
            },
            {
                test: /\.(ts|tsx)?$/,
                loader: "awesome-typescript-loader",
                exclude: /node_modules/
            },
            {
                test: /\.(css|less)?$/,
                use: [{
                    loader: "style-loader"
                }, {
                    loader: "css-loader?modules&localIdentName=[local]--[hash:base64:5]"
                }, {
                    loader: "less-loader"
                }]
            },
            {
                test: /\.json$/,
                exclude: /node_modules/,
                loader: 'json-loader'
            }
        ]
    },
    resolve: {
        extensions: [".js", ".jsx", ".ts", ".tsx", ".css", ".less"]
    }
Run Code Online (Sandbox Code Playgroud)

tsconfig.json

{
  "compilerOptions": {
    "noImplicitAny": false,
    "noEmitOnError": true,
    "module": "commonjs",
    "removeComments": false,
    "sourceMap": true,
    "target": "es5",
    "jsx":  "react" 
  },
  "exclude": [
    "node_modules",
    "wwwroot"
  ]
}
Run Code Online (Sandbox Code Playgroud)

更新

Something.ts 文件:

class Something {
    constructor(str: string) {
        console.log(str);
    }
}

export { Something };
Run Code Online (Sandbox Code Playgroud)

您对问题可能出在哪里有任何想法吗?谢谢!

Siy*_*iya 9

webpack v3需要 usinguse而不是直接编写loader加载规则loaders

这样做,而不是:

 {
    test: /\.(ts|tsx)?$/,
    use: {
      loader: 'awesome-typescript-loader'
    },
    exclude: /node_modules/
 }
Run Code Online (Sandbox Code Playgroud)