首页 > 解决方案 > 如何编译 React-Relay

问题描述

我正在尝试遵循官方的 Relay 文档

安装 React-Relay 后:

npm install --save relay-runtime react-relay
npm install --save-dev relay-compiler graphql babel-plugin-relay

...并配置 package.json:

{
  ...
  "scripts": {
    ...
    "start": "npm run relay && react-scripts start",
    "build": "npm run relay && react-scripts build",
    "relay": "npm run relay-compiler --schema schema.graphql --src ./src/ --watchman false $@"
    ...
  },
  ...
}

当我跑的时候:

npm start

我收到以下错误:

> test@0.1.0 start D:\xampp\htdocs\my-react\test
> npm run relay && react-scripts start


> test@0.1.0 relay D:\xampp\htdocs\my-react\test
> npm run relay-compiler --schema schema.graphql --src ./src/ --watchman false $@

npm ERR! missing script: relay-compiler

如何正确运行中继编译器?

标签: reactjsnpmrelayjsrelayreact-relay

解决方案


显然,我必须在 package.json 的最后一行删除“npm run”:

{
  ...
  "scripts": {
    ...
    "start": "npm run relay && react-scripts start",
    "build": "npm run relay && react-scripts build",
    "relay": "relay-compiler --schema schema.graphql --src ./src/ --watchman false $@"
    ...
  },
  ...
}

推荐阅读