You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Webpack+TypeScript仅生产环境别名配置报错求助

GitLab CI/CD构建时TS2307找不到别名模块问题

我有一个基于React、Webpack和TypeScript的项目,采用Docker容器化并通过GitLab CI/CD流程部署。此前项目未使用别名时,生产环境构建完全正常。

自添加别名配置后,本地开发和npm run build构建均正常,但通过GitLab CI/CD流水线构建镜像时,出现如下TS2307错误:

#16 13.97 ERROR in ./src/routes/Pages/Users.tsx:10:22
#16 13.97 TS2307: Cannot find module 'Types/resources/users' or its corresponding type declarations.
#16 13.97      8 | import { UserState } from "Store/user/reducer"
#16 13.97      9 | import { ServerSideTable } from "@optalp/react-server-side-table"
#16 13.97   > 10 | import { User } from "Types/resources/users"
#16 13.97        |                      ^^^^^^^^^^^^^^^^^^^^^^^

相关配置文件内容

webpack.common.js 关键配置

alias: {
      Assets: path.resolve(__dirname,  'src/assets'),
      Components: path.resolve(__dirname, 'src/components'),
      Api: path.resolve(__dirname, 'src/api'),
      Types: path.resolve(__dirname, 'src/@types'),
      Helpers: path.resolve(__dirname, 'src/helpers'),
      Config: path.resolve(__dirname, 'src/config'),
      Store: path.resolve(__dirname, 'src/store'),
},
...,
      {
        test: /\.(ts|tsx)$/,
        exclude: /node_modules/,
        use: [
          {
            loader: require.resolve('ts-loader'),
            options: {
              getCustomTransformers: () => ({
                before: [isDevelopment && ReactRefreshTypeScript()].filter(Boolean),
              }),
              transpileOnly: isDevelopment,
            },
          },
        ],
      },

tsconfig.json 配置

{
  "compilerOptions": {
    "baseUrl": "./",
    "jsx": "react",
    "module": "commonjs",
    "esModuleInterop": true,
    "noImplicitAny": false,
    "outDir": "./build/",
    "preserveConstEnums": true,
    "removeComments": true,
    "sourceMap": true,
    "target": "es5",
    "pretty":true,
    "allowSyntheticDefaultImports" :true,
    "lib": ["es6", "dom", "es2016", "es2017", "esnext"],
    "typeRoots": ["./src/@types", "./node_modules/@types"],
    "resolveJsonModule": true,
    "paths": {
      "Assets/*": ["src/assets/*"],
      "Components/*": ["src/components/*"],
      "Api/*": ["src/api/*"],
      "Types/*": ["src/@types/*"],
      "Helpers/*": ["src/helpers/*"],
      "Config/*": ["src/config/*"],
      "Store/*": ["src/store/*"],
    } 
  },
  "include": [
    "./src/index.tsx",
    "./src/**/*",
  ],
  "files": ["./src/@types/custom.d.ts"],
  "exclude":["/node_modules"],
}

package.json 部分内容

{
  "name": "frontend",
  "version": "0.1.0",
  "private": true,
  "dependencies": {
    "@react-keycloak/web": "^3.4.0",
    "@stomp/stompjs": "^6.1.2",
    "axios": "^0.21.4",
    "date-fns": "^2.30.0",
    "file-saver": "^2.0.5",
    "html-webpack-plugin": "^4.5.2",
    "keycloak-js": "^22.0.1",
    "lodash": "^4.17.21",
    "moment": "^2.29.4",
    "polished": "^4.2.2",
    "qs": "^6.11.2",
    "react": "^18.2.0",
    "react-dom": "^18.2.0",
    "react-scripts": "^4.0.3",
    "react-select": "^4.3.1",
    "remixicon": "^2.5.0",
  },
  "scripts": {
    "start": "webpack-dev-server --open --config webpack.dev.js --mode-development --hot",
    "build": "webpack --config webpack.prod.js --env NODE_ENV=production",
  },
  "devDependencies": {
    "copy-webpack-plugin": "^9.1.0",
    "css-loader": "^5.2.7",
    "dotenv": "^8.6.0",
    "file-loader": "^6.2.0",
    "fork-ts-checker-webpack-plugin": "^7.3.0",
    "mini-css-extract-plugin": "^1.6.2",
    "postcss-loader": "^4.3.0",
    "react-refresh": "^0.14.0",
    "react-refresh-typescript": "^2.0.9",
    "resolve-url-loader": "^3.1.5",
    "sass": "^1.69.5",
    "sass-loader": "^10.4.1",
    "source-map-loader": "^1.1.3",
    "style-loader": "^2.0.0",
    "styled-components": "^5.3.11",
    "terser-webpack-plugin": "^5.3.9",
    "ts-loader": "^8.4.0",
    "typescript": "^4.9.5",
    "webpack": "^5.89.0",
    "webpack-cli": "^3.3.12",
    "webpack-dev-server": "^3.11.3",
    "webpack-merge": "^5.10.0"
  }
}

请问是否是tsconfig.json或Webpack配置存在问题?如需更多配置信息可补充,感谢帮忙排查!


内容的提问来源于stack exchange,提问作者Minos

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.27 18:05:55