【问题标题】:TypeError: Cannot read property 'ts' of undefinedTypeError:无法读取未定义的属性“ts”
【发布时间】:2018-09-03 21:33:13
【问题描述】:

我一直在尝试在我的 .Net Core 项目中设置 React,但在尝试运行 WebPack 时出现构建失败错误。

我尝试更新 ts-loaderwebpack 版本并尝试来自 GitHub 和 StackOverflow 的不同解决方案,但这些都不起作用。

Webpack 控制台错误

Entrypoint global = home-bundle.js home-bundle.js.map
  [0] ./ClientApp/Home/home.tsx 289 bytes {0} [built] [failed] [1 error]

WARNING in configuration
The 'mode' option has not been set. 
Set 'mode' option to 'development' or 'production' to enable defaults for this environment.

ERROR in ./ClientApp/Home/home.tsx
Module build failed: TypeError: Cannot read property 'ts' of undefined
  at getLoaderOptions (D:\MyFirstProject\Travel\node_modules\ts-loader\dist\index.js:70:44)
  at Object.loader (D:\MyFirstProject\Travel\node_modules\ts-loader\dist\index.js:23:19)

webpack.config

module.exports = [
  {
    entry: {
      global: "./ClientApp/Home/home.tsx"
    },
    output: {
      filename: "home-bundle.js",
      path: __dirname + "/wwwroot/app/",
      sourceMapFilename: "home-bundle.js.map"
    },
    devtool: "source-map",
    resolve: {
      extensions: [".ts", ".tsx", ".js"],
      modules: ["node_modules"]
    },
    module: {
      rules: [
        {
          test: /\.tsx?$/,
          loader: "ts-loader"
        },
        {
          enforce: "pre",
          test: /\.tsx?$/,
          use: "source-map-loader",
          exclude: /node_modules/
        }
      ]
    }
  }
];

package.json

{
  "dependencies": {
    "@types/es6-promise": "0.0.33",
    "@types/lodash": "4.14.84",
    "@types/react": "15.0.11",
    "@types/react-dom": "0.14.23",
    "es6-promise": "4.1.1",
    "lodash": "4.17.4",
    "react": "15.6.2",
    "react-dom": "15.6.2",
    "source-map-loader": "0.2.3",
    "ts-loader": "2.3.7",
    "typescript": "2.3.4",
    "webpack": "3.8.1"
  },
  "devDependencies": {
    "ts-loader": "2.3.7",
    "url-loader": "0.5.9",
    "webpack-livereload-plugin": "1.0.0"
  },
  "scripts": {
    "webpack": "webpack -p",
    "test": "echo \"Error: no test specified\" && exit 1",
    "watch": "webpack -w"
  }
}

【问题讨论】:

  • 你在使用 webpack 4 吗?
  • @Aaqib 我试过 4 和 3.x.x 版本
  • 你能分享你的package.json吗
  • 我没有发现任何明显错误,但查看我在本地拥有的 React 项目,它们都没有 Modules: ["node_modules"] 位。您可能想尝试使用此resolve 配置:resolve: { extensions: ['.js', '.jsx', '.ts', '.tsx'] },。您使用 v15 而不是 v16 有什么原因吗?

标签: reactjs webpack asp.net-core .net-core


【解决方案1】:

我刚刚从 webpack 3 升级到 4 时遇到了同样的错误。

我的解决方案是将 ts-loader 从 3.1.1 升级到 4.4.2

希望对你有帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-11-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-24
    • 2019-08-19
    • 1970-01-01
    相关资源
    最近更新 更多