Как преобразовать рабочий процесс babel + terser в веб-пакет? - PullRequest
0 голосов
/ 25 марта 2019

Структура моей папки выглядит следующим образом:

- src/internal-logic.js
- src/header.js
- src/footer.js
- package.json

Вот раздел моего пакета. Json

"scripts": {
    "start": "npx babel --watch src --out-dir dist --presets react-app/prod",
    "build": "npx babel src --out-dir dist --presets react-app/prod",
    "minify": "npx terser -c -m -o dist/common.min.js -- dist/header.js dist/footer.js dist/internal-logic.js"
  },

При развертывании этого кода я запускаю следующие команды

npm run build
npm run minify

Это создает файл с именем common.min.js, который я использую в нескольких проектах.

То, что я хотел бы сделать, это сделать одну команду сборки с помощью веб-пакета. Как я могу это сделать?

UPDATE

Я создал следующий webpack.config.js

const path = require('path');

module.exports = {
  entry: {
    'common.js': [
      path.resolve(__dirname, 'src/internal-logic.js'),
      path.resolve(__dirname, 'src/footer.js'),
      path.resolve(__dirname, 'src/header.js')
    ]
  },
  output: {
    filename: '[name]',
    path: path.resolve(__dirname, 'dist'),
  },
  module: {
         rules: [
            {
              test: /\.(js|jsx)$/,
              exclude: /node_modules/,
              use: {
                loader: "babel-loader",
                options: {
                  presets: ['@babel/preset-react']
                }
              }
            }
         ]
     },
};

Это работает

...