webpack + babel неправильно связывает js - PullRequest
0 голосов
/ 18 сентября 2018

Я использую webpack и babel в своем проекте.Хотя веб-пакет работает хорошо, но babel почему-то не выполняет свою работу по заполнению функций ES6 +.Когда я использую скрипт npm, я получаю сообщение об ошибке «Entrypoint undefined = index.html» в командной строке.Пожалуйста, помогите!

Package.json

{
  "name": "forkify",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "dev": "webpack --mode development",
    "build": "webpack --mode production",
    "start": "webpack-dev-server --mode development --open"
  },
  "author": "neeraj",
  "license": "ISC",
  "devDependencies": {
    "babel-core": "^6.26.3",
    "babel-loader": "^8.0.2",
    "babel-preset-env": "^1.7.0",
    "html-webpack-plugin": "^3.2.0",
    "webpack": "^4.19.0",
    "webpack-cli": "^3.1.0",
    "webpack-dev-server": "^3.1.8"
  },
  "dependencies": {
    "babel-polyfill": "^6.26.0"
  }
}

webpack.config.js

const path=require('path');
const HtmlWebPackPlugin=require('html-webpack-plugin');
module.exports={
    entry:['babel-polyfill','./src/js/index.js'],
    output:{
        path:path.resolve(__dirname,'dist'),
        filename:'js/bundle.js'
    },
    devServer:{
        contentBase:'./dist'
    },
    plugins:[
        new HtmlWebPackPlugin({
            filename:'index.html',
            template:'./src/index.html'
        })
    ],
    module:{
        rules:[
            {
                test:/\.js$/,
                exclude:/node_modules/,
                use:{
                    loader:'babel-loader'
                }
            }
        ]
    }

};

.bablerc

{
    "presets":[
        ["env",{
            "targets":{
                "browser":[
                    "last 5 versions",
                    "ie>=8"
                ]
            }
        }]
    ]
}

Ошибка, которую я получаю: Terminal Error

Структура проекта: Project Structure

РЕДАКТИРОВАТЬ ------------------ Я начал получать новую ошибку сейчас.

enter image description here

Ответы [ 2 ]

0 голосов
/ 18 сентября 2018

Возникла проблема с зависимостью.Удалил мою папку node_modules и вместо нее использовал эту команду: npm install -D babel-loader @ 7 babel-core babel-preset-env webpack

Для получения дополнительной информации перейдите по этой ссылке: https://github.com/babel/babel-loader

Теперь я больше не получаю никаких ошибок, а также babel работает нормально.

К вашему сведению .... вам, возможно, придется установить babel-polyfill & html-webpack-plugin отдельно.

0 голосов
/ 18 сентября 2018

Это проблема html-webpack-plugin, исправление было введено в 3.0.7, но было удалено снова в 3.0.8.Для получения дополнительной информации, пожалуйста, нажмите здесь .

Так что если вы запустите npm install --save-dev html-webpack-plugin@3.0.7, а затем npm run dev выведет Entrypoint html-webpack-plugin for "index.html "= index.html .И, лично, это тривиальная проблема, которая не так важна.

...