在 Bitbucket Pipelines 中,如果您的 React Mobx 应用的 @inject 编译失败,可以尝试以下解决方法:
确保 mobx-react 包已正确安装:
npm install mobx-react --save
确保在您的项目中正确引入 @inject:
import { inject } from 'mobx-react';
在使用 @inject 的地方,确保正确指定被注入的 MobX store:
@inject('storeName')
class YourComponent extends React.Component {
// ...
}
确保在您的项目中正确配置 Babel,以支持装饰器语法和类属性初始化器。在项目的根目录下创建一个名为 .babelrc
的文件,并添加以下配置:
{
"presets": ["@babel/preset-env", "@babel/preset-react"],
"plugins": ["@babel/plugin-proposal-class-properties", "@babel/plugin-proposal-decorators"]
}
安装依赖的 Babel 插件:
npm install @babel/preset-env @babel/preset-react @babel/plugin-proposal-class-properties @babel/plugin-proposal-decorators --save-dev
如果使用了 TypeScript,需要确保正确配置 TypeScript 的编译选项。在项目的根目录下创建一个名为 tsconfig.json
的文件,并添加以下配置:
{
"compilerOptions": {
"experimentalDecorators": true,
"emitDecoratorMetadata": true
}
}
在 Bitbucket Pipelines 中的构建配置文件(如 bitbucket-pipelines.yml
)中,确保正确安装依赖并运行构建任务:
pipelines:
default:
- step:
name: Build and Test
image: node:14
script:
- npm install
- npm run build
# 其他测试或部署任务
如果仍然出现编译错误,可以尝试升级相关依赖包,特别是 mobx-react 和 Babel 插件,以确保使用最新版本。
希望以上解决方法可以帮助您解决 Bitbucket Pipelines 中的 React Mobx @inject 编译失败问题。如果问题仍然存在,请提供更多详细的错误信息以便进一步帮助。