首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用带有inject = true的HtmlWebpackPlugin并不会减少ES6代码

使用带有inject = true的HtmlWebpackPlugin并不会减少ES6代码
EN

Stack Overflow用户
提问于 2018-10-30 17:24:04
回答 1查看 1.2K关注 0票数 3

我正在尝试从一个模板文件创建一个html文件,将一些JavaScript内联插入到html文件中。

这非常有用,特别是在我的示例中,我在js文件异步中使用了一些ES6语法。然后,它在特定的代码块中不受限制地保留所有代码。

我想知道是否有一种方法可以在我的代码被缩小之前传递它?

任何帮助都将不胜感激。

我的webpack.config.js文件如下所示

代码语言:javascript
复制
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
            }
        })
    ]
};
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-10-30 18:04:40

我假设您想在这里缩小该文件:

代码语言:javascript
复制
gds: fs.readFileSync('./TestFile/js/extras.js', 'utf8'),

您可以使用babel来传输文件内容:

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

还有html-webpack-inline-source-plugin。这可能是一种更干净的内联文件的方式。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53069744

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档