Использование HtmlWebpackPlugin с inject = true не уменьшает код ES6 - PullRequest
0 голосов
/ 30 октября 2018

Я пытаюсь создать html-файл из файла шаблона, вставляя некоторые встроенные JavaScript-файлы в html-файл.

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

Мне было интересно, есть ли способ перенести мой код, возможно, до его минимизации?

Любая помощь будет принята с благодарностью.

Мой файл webpack.config.js выглядит следующим образом

var path = require('path');
var fs = require("fs");
const HtmlWebpackPlugin = require('html-webpack-plugin');
const ExtractTextPlugin = require('extract-text-webpack-plugin');
const UglifyJsPlugin = require('uglifyjs-webpack-plugin');
const webpack = require('webpack');
const Uglify = require("uglifyjs-webpack-plugin");

module.exports = {
    context: __dirname,
    entry: './TestFile/index.js',
    output: {
        path: path.resolve(__dirname, 'TestFile')
    },
    module: {
        rules: [
            {
                test: /\.js$/,
                use: 'babel-loader',
                exclude: /node_modules/,
            },
        ],
    },
    plugins: [
        new HtmlWebpackPlugin({
            filename: 'TestFile.html',
            template: './TestFile/TestFileTemplate.html',
            inject: true,
            jquery: fs.readFileSync('./TestFile/js/jquery.js', 'utf8'),
            gds: fs.readFileSync('./TestFile/js/extras.js', 'utf8'),
            style: fs.readFileSync('./TestFile/css/style.css', 'utf8'),
            minify: {
                html5: true,
                collapseWhitespace: true,
                minifyCSS: true,
                minifyJS: true,
                removeScriptTypeAttributes: true,
                removeStyleLinkTypeAttributese: true,
                useShortDoctype: true
            }
        })
    ]
};

1 Ответ

0 голосов
/ 30 октября 2018

Я предполагаю, что вы хотите минимизировать файл здесь:

gds: fs.readFileSync('./TestFile/js/extras.js', 'utf8'),

Вы можете использовать babel для переноса содержимого файла:

gds: require("@babel/core").transformSync(fs.readFileSync('./TestFile/js/extras.js', 'utf8'), {
  "presets": ["@babel/preset-env"]
}).code;

Существует также html-webpack-inline-source-plugin. Это может быть более чистый способ встроенных файлов.

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