Reactjs 为什么react app jsconfig.json不能与gitlab ci/cd管道一起使用create react app?
我已经为我的Reactjs 为什么react app jsconfig.json不能与gitlab ci/cd管道一起使用create react app?,reactjs,gitlab,gitlab-ci,create-react-app,gitlab-ci-runner,Reactjs,Gitlab,Gitlab Ci,Create React App,Gitlab Ci Runner,我已经为我的create react app项目添加了一个管道,为我的别名定义了一个jsconfig.json。 看起来像 { "compilerOptions": { "lib": [ "dom", "es2015", "es2016", "es6", "es2017" ], "target": "es2017",
create react app
项目添加了一个管道,为我的别名定义了一个jsconfig.json
。
看起来像
{
"compilerOptions": {
"lib": [
"dom",
"es2015",
"es2016",
"es6",
"es2017"
],
"target": "es2017",
"module": "es6",
"allowSyntheticDefaultImports": true,
"baseUrl": "src",
"paths": {
"actions": ["actions/*"],
"assets": ["assets/*"],
"components": ["components/*"],
"containers": ["containers/*"],
"constants": ["constants/*"],
"config": ["config/*"],
"helpers": ["helpers/*"],
"stores": ["stores/*"],
"styles": ["styles/*"]
}
},
"exclude": ["node_modules", "**/node_modules/*"]
}
这对我的vscode或webstorm非常有效。
但对我的管道不起作用,
.gitlab ci.yml
image: node:latest
stages:
- dependencies
- build
- deploy
dependencies:
stage: dependencies
cache:
key: $CI_COMMIT_REF_SLUG-$CI_PROJECT_DIR
paths:
- node_modules/
script:
- yarn config set ignore-engines true
- yarn global add firebase-tools
- yarn
only:
refs:
- next-release
changes:
- package.json
artifacts:
paths:
- node_modules
build:
stage: build
cache:
key: $CI_COMMIT_REF_SLUG-$CI_PROJECT_DIR
paths:
- node_modules/
policy: pull
only:
- next-release
script:
- yarn config set ignore-engines true
- yarn build
- yarn global add firebase-tools
- firebase deploy --only functions,hosting -m "Pipeline $CI_PIPELINE_ID, build $CI_BUILD_ID" --non-interactive --token 1/x_xxxxxxxxxxxxxxtokenxxxxxxxxxxxxxxxxxxx -P xxxxxxxxxx-appp
artifacts:
paths:
- build
它抛出了一个错误,说
未找到模块:无法解析“/builds/mac/app/src/containers/ComponentName”中的“components/Textarea”
你知道怎么解决这个问题吗?或者有人使用别名创建了管道,并使用任何ci cd管道创建了create react app
感谢您的帮助根据Create React应用程序文档,您应该能够在
jsconfig.json
中配置它,如下所示:
{
"compilerOptions": {
"baseUrl": "src"
},
"include": ["src"]
}
您是否尝试添加“include”:[“src”]
只要每个绝对文件夹都在src
下,就不需要显式指定路径
因此,您的jsconfig.json
变成:
{
"compilerOptions": {
"lib": [
"dom",
"es2015",
"es2016",
"es6",
"es2017"
],
"target": "es2017",
"module": "es6",
"allowSyntheticDefaultImports": true,
"baseUrl": "src",
},
"include": ["src"]
"exclude": ["node_modules", "**/node_modules/*"]
}
您需要覆盖CRA的网页包配置。这些可能会有所帮助:以及