Webpack игнорирует webpack.config.js

Я следую этому руководству, потому что я новичок в Webpack ... Мой webpack.config.js:

module.exports = {
    entry: "./app/entry",
    mode: "development",
    module: {
        rules: [
            {
                test: /\.js$/,
                exclude: /node_modules/,
                use: {
                    loader: "babel-loader"
                }
            }
        ]
    }
};

И мой package.json:

{
  "name": "pruebaWebpack",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "build": "webpack",
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "babel-core": "^6.26.0",
    "babel-loader": "^7.1.4",
    "babel-preset-env": "^1.6.1",
    "babel-preset-react": "^6.24.1",
    "webpack": "^4.4.1",
    "webpack-cli": "^2.0.13",
    "webpack-dev-server": "^3.1.1"
  },
  "dependencies": {
    "react": "^16.3.0",
    "react-dom": "^16.3.0"
  }
}

Но, очевидно, он игнорирует мой файл конфигурации, потому что, когда я запускаю npm run build, он использует пути по умолчанию (entry = ./src y output = ./dist) и не распознает атрибут режима:

[email protected] build / opt / lampp / htdocs / pruebaWebpack

webpack

Хеш: 4a9c3de0f194dd38ac70 Версия: webpack 4.4.1

Время: 234 мс

Дата создания: 2018-4-1 15:53:00 Чанки с размером активов
Чанк

Имена main.js 564 байта 0 [отправлено] main Entrypoint main = main.js [0] ./src/index.js 19 байтов {0} [создано]

ПРЕДУПРЕЖДЕНИЕ в конфигурации. Параметр «режим» не установлен, для этого значения webpack вернется к «производственному». Установите для параметра «режим» значение «разработка» или «производство», чтобы включить значения по умолчанию для каждой среды. Вы также можете установить для него значение «none», чтобы отключить любое поведение по умолчанию. Подробнее: https://webpack.js.org/concepts/mode/

Заранее спасибо и извините за мой английский.


person Genarito    schedule 01.04.2018    source источник
comment
Странно, что использование файла webpack.config.js в корне вашего проекта не работает. Проверьте этот проект webpack-demo. Думаю, это поможет вам с настройкой Webpack 4. Дайте мне знать ..   -  person Carloluis    schedule 02.04.2018
comment
Спасибо, я постараюсь сообщить вам   -  person Genarito    schedule 02.04.2018
comment
Большое спасибо! Этот пример сработал для меня! Если хотите, сделайте ответ, и я выберу его как правильный   -  person Genarito    schedule 19.04.2018


Ответы (4)


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

Просмотрите мою демонстрацию Webpack на GitHub с помощью рабочие файлы конфигов в качестве отправной точки.

Подробнее о настройке Webpack.

person Carloluis    schedule 19.04.2018
comment
Спасибо еще раз! Мой последний код был сброшен, так как он был фиктивным и не работал - person Genarito; 19.04.2018
comment
Пожалуйста! Рад помочь. Кроме того, если демонстрация веб-пакета была вам полезна, пожалуйста, подумайте о том, чтобы добавить свою звезду в этот проект. - person Carloluis; 19.04.2018

webpack.config.js. Попробуйте что-нибудь вроде:

const WEBPACK = require('webpack');
const PATH = require('path');

module.exports = {
resolve: {
    extensions: ['.js', '.jsx']
},
context: __dirname,
entry: {
    app: ['./src/index.jsx'] // app: ['./MY_FOLDER_INPUT/MY_FILE_INDEX.jsx']
},
output = {
    path: PATH.join(__dirname, '/MY_FOLDER_OUTPUT'),
    filename: 'index.js'
},
module: {
    rules: [
        {
            test: /\.js$/,
            exclude: /node_modules/,
            use: {
                loader: "babel-loader"
            }
        }
    ]
}
};

package.json. Добавить следующий scripts:

"scripts": 
{ 
    "build": "webpack-dev-server --mode development --open", 
    "prod_build": "webpack --mode production" 
}

Должно работать

person JuMoGar    schedule 01.04.2018
comment
Спасибо, но, к сожалению, не работает. Он по-прежнему показывает, что атрибут режима не был установлен, и когда я меняю путь входа (например, './js'), он выдает ошибку, говоря, что ничего не было найдено в папке ./src ... - person Genarito; 02.04.2018
comment
Вы скопировали мой ответ и запустили его или адаптировали к своему коду? Я сказал это из-за того, что это работает для меня, поэтому это так редко - person JuMoGar; 02.04.2018
comment
Также попробуйте изменить это внутри package.json: "scripts": { "build": "webpack-dev-server --mode development --open", "prod_build": "webpack --mode production" } - person JuMoGar; 02.04.2018
comment
Я меняю параметры ввода и вывода, но ошибка не исчезает. К сожалению, запуск сервера разработки не помог. - person Genarito; 02.04.2018
comment
Хорошо, тогда попробуйте скопировать-вставить код в мой ответ, запустить также мой скрипт build и сказать мне, работает ли он и для вас. Если это сработает - это хорошее поведение, иначе мы должны искать другой способ сделать это. Я обновил ответ на включение scripts и удаление mode внутри webpack - person JuMoGar; 02.04.2018

На прошлой неделе у меня была такая же проблема, и я заметил, что в начале имени файла был пробел ("webpack.config.js"), который не отображается в VS Code. Наверное, это была настоящая проблема, когда я задал вопрос.

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

person Genarito    schedule 31.01.2019
comment
Я случайно назвал свой файл конфигурации webpack .webpack.config.js, поставив перед ним точку. Этот ответ заставил меня по-настоящему взглянуть на имя моего конфигурационного файла и понять, что начальный период не принадлежал ему. Спасибо! - person Chris_K; 22.12.2020

Для меня это была глупая ошибка, набрав module.export вместо module.exports в файле конфигурации.

person Louay Alosh    schedule 16.01.2021