Могут ли слишком строгие настройки ES6 linting привести к тому, что сервер VueJS взломает sh? - PullRequest
0 голосов
/ 06 января 2020

Framework: VueJS

ОС: Linux Mint 19,2

NPM версия 3.5.2

Создание веб-приложения (клиент и сервер размещены локально)

Вероятная причина ошибки: строгий линтинг?

Я - Visual C#. NET разработчик, и я пытаюсь поймать эту новую волну веб-разработки и решил go с VUE для моей первой платформы.

Я почти уверен, что там, где я ошибся, были настройки настройки линтинга. Инструктору предложили задать вопросы, совершенно отличные от тех, что задавались во время команды npm install. Ошибка Linting продолжает вызывать меня к sh.

Это журнал ошибок:

0 информация о том, что он работал, если он заканчивается ok

1 verbose cli ['/ usr / bin / node', '/ usr / bin / npm', 'run', 'lint']

2 информация с использованием npm@3.5.2

3 информация с использованием node@v8.10.0

4 verbose run-script ['prelint', 'lint', 'postlint']

5 жизненный цикл информации server@1.0.0 ~ prelint: server@1.0.0

6 глупый жизненный цикл server@1.0.0 ~ prelint: нет сценария для prelint, продолжение

7 жизненный цикл info server@1.0.0 ~ lint: server@1.0.0

8 verbose lifecycle server@1.0.0 ~ lint: unsafe-perm в жизненном цикле true

9 подробный жизненный цикл server@1.0.0 ~ lint: PATH: / usr / share / npm / bin / node-gyp-bin: / home / user / .. .

10 подробный жизненный цикл server@1.0.0 ~ lint: CWD: / home / user / Documents / Projects / tab-tracker / server

11 глупый жизненный цикл server@1.0.0 ~ lint: Args: [ '- c', 'eslint ** / *. js']

12 глупый жизненный цикл server@1.0.0 ~ lint: возвращено: код: 2 сигнал: ноль

13 info lifecyc le server@1.0.0 ~ lint: не удалось выполнить c сценарий lint

14 подробный стек Ошибка: server@1.0.0 lint: eslint **/*.js

14 подробный стек Состояние выхода 2

...

Клиент работает очень хорошо,

Это мой 'пакет. json на сервере:

    {
  "name": "server",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "start": "./node_modules/nodemon/bin/nodemon.js src/app.js --exec 'npm run lint && node'",
    "lint": "./node_modules/.bin/eslint **/*.js"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "dependencies": {
    "body-parser": "^1.19.0",
    "cors": "^2.8.5",
    "express": "^4.17.1",
    "morgan": "^1.9.1"
  },
  "devDependencies": {
    "eslint-config-standard": "^10.2.1",
    "eslint-plugin-import": "^2.7.0",
    "eslint-plugin-node": "^5.1.1",
    "eslint-plugin-promise": "^3.5.0",
    "eslint-plugin-standard": "^3.0.1",
    "nodemon": "^2.0.2",
    "eslint": "^6.8.0"
  }
}

В верхней части моего модуля eslint указано, что он установлен в строгом режиме:

#!/usr/bin/env node

"use strict";

...

Вот вывод консоли после того, как я запустил

`sudo npm start`

в своей папке на сервере

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

1 Ответ

0 голосов
/ 06 января 2020

Расширение «Prettier» в коде VS удалит пробелы, которые требуются для linter, и приведет к сбою linting

Удалите Prettier и, если вам нужна опция «Beautify», используйте один это предназначено для VueJS. Он должен go без слов, но убедитесь, что вы не используете TS-линтер на JS кодовой базе и наоборот.

В коде, указанном выше:

Снять ворс:

До:

  "scripts": {
    "start": "./node_modules/nodemon/bin/nodemon.js src/app.js --exec 'npm run lint && node'",
    "lint": "./node_modules/.bin/eslint **/*.js"
  },

После (исправить):

  "scripts": {
    "start": "./node_modules/nodemon/bin/nodemon.js src/app.js --exec 'npm run && node'"
},

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

Я подозреваю, что проблема несовместимости версий или просто Linux при следовании руководству по OSX. Но это сработало для меня.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...