Ошибка 'TypeError: fs.existsSyn c не является функцией', возникающая в проекте React, как-то связана с './node_modules/node-sass/lib/binding.js' - PullRequest
1 голос
/ 13 февраля 2020

Так что я пытался понять это некоторое время прямо сейчас, и я нахожусь в конце моей веревки здесь.

Я пытаюсь создать приложение реагирования, которое делает простые вызовы API, но Я продолжаю получать эту ошибку, которая препятствует визуализации моего компонента, который может быть загружен.

Это происходит как ошибка props.er, в которую я вхожу в chrome console.log ()

В Я получаю консоль chrome:

TypeError: fs.existsSync is not a function
at Object.hasBinary (extensions.js:404)
at module.exports (binding.js:11)
at Object.<anonymous> (index.js:14)
at Object../node_modules/node-sass/lib/index.js (index.js:471)
at __webpack_require__ (bootstrap:772)
at fn (bootstrap:141)
at Object../src/routes/app/routes/tacas/components/FeatureCallouts.js (lib sync:9)
at __webpack_require__ (bootstrap:772)
at fn (bootstrap:141)
at Object../src/routes/app/routes/tacas/components/template.js (styles.scss?8f6b:45)
at __webpack_require__ (bootstrap:772)
at fn (bootstrap:141)
at Object../src/routes/app/routes/tacas/index.js (index.js:1)
at __webpack_require__ (bootstrap:772)
at fn (bootstrap:141)

Я думаю, что это как-то связано с файлом './node_modules/node-sass/lib/binding.js':

/*!
 * node-sass: lib/binding.js
 */

var errors = require('./errors');

/**
 * Require binding
 */
module.exports = function(ext) {
  if (!ext.hasBinary(ext.getBinaryPath())) {
    if (!ext.isSupportedEnvironment()) {
      throw new Error(errors.unsupportedEnvironment());
    } else {
      throw new Error(errors.missingBinary());
    }
  }

  return require(ext.getBinaryPath());
};

Также в терминале сборки CMD я также получаю это предупреждение:

./node_modules/node-sass/lib/binding.js
19:9-37 Critical dependency: the request of a dependency is an expression

Я смотрел на другие вопросы, подобные этому, но ни один из них, похоже, не работает для меня. Например, у меня вообще нет файла webpack.config.

На всякий случай вот мой пакет. json file:

{
  "name": "material",
  "private": true,
  "version": "4.0.0",
  "main": "",
  "homepage": "",
  "scripts": {
    "start": "react-app-rewired start",
    "stop": "taskkill -F -IM node.exe",
    "build": "react-app-rewired build",
    "test": "react-app-rewired test --env=jsdom",
    "eject": "react-scripts eject",
    "prettier": "prettier --write ./src/**/**/**/*"
  },
  "dependencies": {
    "@babel/runtime": "7.0.0-beta.55",
    "@material-ui/core": "^1.5.1",
    "@material-ui/icons": "^2.0.2",
    "@material-ui/lab": "^1.0.0-alpha.10",
    "axios": "^0.19.2",
    "classnames": "^2.2.6",
    "core-js": "^2.5.7",
    "date-fns": "2.0.0-alpha.7",
    "downshift": "^2.1.1",
    "echarts": "^4.1.0",
    "echarts-for-react": "^2.0.14",
    "element-resize-event": "^2.0.9",
    "font-awesome": "~4.7.0",
    "history": "^4.6.1",
    "jquery": "^3.4.1",
    "jquery-slimscroll": "~1.3.8",
    "material-ui-pickers": "1.0.0-rc.11",
    "prop-types": "^15.6.2",
    "rc-queue-anim": "^1.6.5",
    "react": "^16.4.2",
    "react-dom": "^16.4.2",
    "react-hot-loader": "^4.3.4",
    "react-loadable": "^5.5.0",
    "react-redux": "^5.0.7",
    "react-router": "^4.3.1",
    "react-router-dom": "^4.3.1",
    "react-router-redux": "5.0.0-alpha.6",
    "react-scripts": "2.0.0-next.3e165448",
    "redux": "^4.0.0",
    "redux-immutable-state-invariant": "^2.1.0",
    "redux-thunk": "^2.3.0"
  },
  "browserslist": {
    "development": [
      "last 2 chrome versions",
      "last 2 firefox versions",
      "last 2 edge versions"
    ],
    "production": [
      ">0.25%",
      "not op_mini all",
      "ie 11"
    ]
  },
  "devDependencies": {
    "bootstrap": "^4.4.1",
    "node-sass": "^4.13.1",
    "prettier": "^1.14.2",
    "react-app-rewire-provide-plugin": "^1.0.0",
    "react-app-rewired": "^1.5.2",
    "sass-loader": "^7.0.1"
  }
}

Пожалуйста, помогите, я стажер на работе, и это первый проект, который я получил, и я не хочу его портить.

1 Ответ

0 голосов
/ 14 февраля 2020

Node-sass является родным модулем C ++ и не может быть запущен в браузере. Возможно, это дартс-сасс, но я никогда не пробовал

...