0

我正在为 web 和移动开发一个应用程序,所以我正在使用expo,如果我运行适用于 android 的应用程序,它可以正常工作,但是当我想使用它运行webyarn run web时,它会显示错误。

编译失败。
/usr/local/lib/node_modules/expo-cli/node_modules/react-error-overlay/lib/index.js
第 1 行:'define' 未定义 no-undef
第 1 行:'define' 未定义 no-undef
第 1 行:“regeneratorRuntime”未定义 no-undef

我已经安装并配置了 eslint-config-universe。并且还尝试了以下配置

"env": {
    "amd": true
},

.eslintrc.js

module.exports = {
extends: ["universe","universe/node", "universe/web","universe/native"],
};

包.json

"eslintConfig": {
    "extends": ["universe","universe/node", "universe/web","universe/native"]
}

那么 expo web 的 eslint 的实际配置是什么,所以我可以运行expo start --web而没有任何eslint 配置错误

4

2 回答 2

0

实际上,这是@FLGMwt描述的 Webpack 问题。

expo customize:web您可以通过运行,选择 webpack,然后在添加 eslit 配置之前将webpack-config版本覆盖为一个来解决此问题:

yarn add -D @expo/webpack-config@0.5.19

或者,运行上面的 yarn / npm 命令并webpack.config.js在项目的根目录中创建一个包含以下内容的文件:

const createExpoWebpackConfigAsync = require('@expo/webpack-config');

module.exports = async function(env, argv) {
  const config = await createExpoWebpackConfigAsync(env, argv);
  // Customize the config before returning it.
  return config;
};

与customize:web 相同。

于 2019-07-23T07:25:09.740 回答
0

babel.config.js

module.exports = function(api) {
  api.cache(true);
  return {
    presets: ['babel-preset-expo'],
  };
};

.eslintrc.json

{
  "env": {
    "node": true,
    "es6": true
  },
  "parser": "babel-eslint",
  "extends": "airbnb",
  "plugins": ["react", "jsx-a11y", "import"],
  "rules": {
    "react/jsx-filename-extension": ["off"],
    "linebreak-style": ["off"],
    "no-undef": ["error"],
    "react/sort-comp": ["off"],
    "react/prefer-stateless-function": ["off"],
    "import/named": 2,
    "import/namespace": 2,
    "import/default": 2,
    "import/export": 2,
    "import/no-extraneous-dependencies": [
      "error",
      { "devDependencies": ["**/*.test.js"] }
    ],
    "import/no-absolute-path": [2, { "esmodule": false, "commonjs": false, "amd": false }]
  },
  "settings" : {
    "import/resolver": {
      "node": {
        "paths": ["./src"]
      }
    }
  },
  "globals": {
    "it": 0,
    "expect": 0,
    "describe": 0,
    "navigator": 0
  }
}
于 2019-07-22T13:27:04.930 回答