Пользовательская библиотека-оболочка Webpack без установки зависимостей - PullRequest
0 голосов
/ 15 ноября 2018

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

Я попытался удалить папку node_modules и файл package-lock.json и выполнить чистую npm i, но она все та же.

webpack-cli установлен, но имеет webpack в качестве равноправной зависимости и говорит, что не установлен.Когда я добавляю его в проекты package.json, он работает, но затем попытка npm run build приводит к нескольким ошибкам, которые он не может найти ни в одном из загрузчиков, которые должны были быть установлены с библиотекой.

project package.json

"scripts": {
    "build": "webpack --progress --colors --hide-modules",
    "dev": "npm run build --",
    "watch": "npm run dev -- --watch",
    "prod": "NODE_ENV=production npm run build"
  },
  "devDependencies": {
    "@namespace/lib": "git+ssh://git@internal:js/lib.git"
  },

библиотека package.json

"dependencies": {
    "@babel/core": "^7.1.2",
    "@babel/preset-env": "^7.1.0",
    "autoprefixer": "^9.3.1",
    "babel-loader": "^8.0.4",
    "copy-webpack-plugin": "^4.5.4",
    "css-loader": "^1.0.0",
    "extract-text-webpack-plugin": "^4.0.0-beta.0",
    "file-loader": "^2.0.0",
    "image-webpack-loader": "^4.4.0",
    "lodash": "^4.17.11",
    "node-sass": "^4.9.4",
    "postcss-loader": "^3.0.0",
    "sass-loader": "^7.1.0",
    "vue-loader": "^15.4.2",
    "vue-style-loader": "^4.1.2",
    "vue-template-compiler": "^2.5.17",
    "webpack": "^4.23.1",
    "webpack-cli": "^3.1.2"
  },
  "devDependencies": {
    "eslint": "^5.8.0",
    "standard": "^12.0.1"
  }

1 Ответ

0 голосов
/ 15 ноября 2018

Я удалил

"@namespace/lib": "git+ssh://git@internal:js/lib.git"

строка из файла package.json проектов и сделал

npm i -D git+ssh://git@internal:js/lib.git

и теперь он установил все зависимости библиотек.

До этого я только что запустил npm i из недавно клонированного проекта с существующими строками в package.json. Я не понимаю, почему это будет иметь значение, но кажется, что это сделал!

// EDIT:

Еще одна вещь, которая сработала:

git reset --hard
rm package-lock.json
rm -rf node_modules # deleting already installed modules from the previous tries
npm i

Таким образом, с новой git clone -потенции это просто удаление файла блокировки и , затем установка снова. Но без предварительно существующей папки node_modules.

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