Скрипт отсутствует: webpack в npm - PullRequest
0 голосов
/ 08 февраля 2019

Я пытаюсь пересобрать приложение реагирования и связать его с помощью веб-пакета.Всякий раз, когда я пытаюсь запустить npm run-script build, он всегда показывает npm ERR! missing script: webpack

То, что я пробовал:

  1. Удалил папку node_modules, выполнив npm install (снова)
  2. глобально установил webpack
  3. установил webpack-cli

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

Ниже мой файл package.json

{
  "name": "storyline-feedback-tool",
  "version": "1.1.2",
  "description": "",
  "main": "index.js",
  "scripts": {
    "build": "webpack",
    "start-hot": "node server.js",
    "start": "webpack-dev-server --content-base public/ --inline --port 3001"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "dependencies": {
    "babel-polyfill": "^6.13.0",
    "classnames": "^2.2.5",
    "g": "^2.0.1",
    "lodash": "^4.15.0",
    "react": "^15.3.1",
    "react-dom": "^15.3.1",
    "react-spin": "^0.6.2",
    "webpack": "^1.15.0",
    "webpack-cli": "^3.2.3"
  },
  "devDependencies": {
    "autoprefixer": "^6.4.0",
    "babel-core": "^6.14.0",
    "babel-eslint": "^6.1.2",
    "babel-loader": "^6.2.5",
    "babel-preset-es2015": "^6.14.0",
    "babel-preset-react": "^6.11.1",
    "babel-preset-react-hmre": "^1.1.1",
    "css-loader": "^0.24.0",
    "eslint": "^3.3.1",
    "eslint-config-airbnb": "^10.0.1",
    "eslint-plugin-import": "^1.14.0",
    "eslint-plugin-jsx-a11y": "^2.2.0",
    "eslint-plugin-react": "^6.1.2",
    "less": "^2.7.1",
    "less-loader": "^2.2.3",
    "postcss-loader": "^0.11.0",
    "postcss-pxtorem": "^3.3.1",
    "react-hot-loader": "^1.3.0",
    "style-loader": "^0.13.1",
    "webpack-dev-server": "^1.15.1"
  }
}

Вот мой webpack.config.js

var webpack = require('webpack');
var path = require('path');
var autoprefixer = require('autoprefixer');
var postcssPxtorem = require('postcss-pxtorem');


var config = {
  name: 'feedback-tool',
  entry: {
    'feedback-main': './src/index-main.js',
    'feedback-form': './src/index-form.js',
  },
  output: {
    path: path.resolve(__dirname, 'public/feedback'),
    publicPath: '/feedback/',
    filename: '[name].js'
  }
};

config.module = {
  loaders: [
    {
      test: /\.js$/,
      include: path.resolve(__dirname, 'src'),
      exclude: /(node_modules)/,
      loader: 'babel',
    },
    {
      test: /\.less$/,
      loader: "style-loader!css-loader!postcss-loader!less-loader"
    },
    {
      test: /\.css$/,
      loader: "style-loader!css-loader!postcss-loader"
    }
  ]
};

config.postcss = function () {
  return [
    autoprefixer({
      browsers: [
        'last 2 version',
        'ie > 8']
    }),
    postcssPxtorem({
      propWhiteList: []
    })]
};

config.plugins = [
  new webpack.optimize.UglifyJsPlugin({
   compress: {
   warnings: false,
   },
   output: {
   comments: false,
   },
  }),
  new webpack.DefinePlugin({
   'process.env': {
   'NODE_ENV': '"production"'
   }
  }),
];

module.exports = config;

Любая помощь будет оценена.

Ответы [ 2 ]

0 голосов
/ 25 июня 2019

в моем случае я просто добавляю к узлу «Скрипты» ключ «webpack»: «webpack».и это сработало для меня.

{ "name": "reactdemo", "version": "1.0.0", "description": "lmora demo", "main": "app.js", "scripts": { "webpack": "webpack", "test": "echo \"Error: no test specified\" && exit 1" },

0 голосов
/ 09 февраля 2019

Сообщение об ошибке: npm ERR! missing script: webpack заставляет меня поверить, что ваша установка веб-пакета облажалась где-то вниз или когда глобальный пакет установлен глобально, вызывает проблемы из-за устаревшей природы этогопроект.Не могли бы вы попробовать следующее и посмотреть, решит ли это вашу проблему:

  1. Убедитесь, что ваша версия узла совместима с webpack. В документации рекомендуется использовать LTS-версию Узел : 10.15.1 LTS .Непосредственно из документации веб-пакета:

    "Прежде чем мы начнем, убедитесь, что у вас установлена ​​свежая версия Node.js. Текущая версия долгосрочной поддержки (LTS) является идеальной отправной точкой.Вы можете столкнуться с множеством проблем со старыми версиями, поскольку они могут отсутствовать в функциональном веб-пакете и / или связанных с ним пакетах."

  2. УдалитьВеб-пакет и интерфейс командной строки :

    npm uninstall -g webpack npm uninstall webpack-cli

  3. Переустановите веб-пакет и клиентскую локально , поскольку глобальная установка веб-пакета может вызвать проблемы:

    "Обратите внимание, что не рекомендуется . Глобальная установка блокирует вас до определенной версии веб-пакета и может привести к сбою в проектах, использующих другую версию . "

    npm install --save-dev webpack npm install --save-dev webpack-cli

  4. Обновите пользовательскую команду до , включив путь к файлу webpack.config.js .

    "scripts": { "build": "webpack --config <path_to_webpack_config>/webpack.config.js", "start-hot": "node server.js", "start": "webpack-dev-server --content-base public/ --inline --port 3001" },

  5. Попробуйте запустить свойСценарий сборки снова:

    npm run build

Надеюсь, это поможет!

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