账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    如何将webpack4插入到html中的行内JS打包出来?
    22
    0

    crea-react-app创建的项目,打包后HTML中就加入了如下的代码,我找不到怎么把这个JS代码打包出来,这个是模块机制的代码吗?

    function r(r) {
            for ( var n, f, i = r[0], l = r[1], a = r[2], c = 0, s = []; c < i.length; c++ ) f = i[c], o[f] && s.push(o[f][0]), o[f] = 0;
            for ( n in l ) Object.prototype.hasOwnProperty.call(l, n) && (e[n] = l[n]);
            for ( p && p(r); s.length; ) s.shift()();
            return u.push.apply(u, a || []), t()
        }
    
        function t() {
            for ( var e, r = 0; r < u.length; r++ ) {
                for ( var t = u[r], n = !0, i = 1; i < t.length; i++ ) {
                    var l = t[i];
                    0 !== o[l] && (n = !1)
                }
                n && (u.splice(r--, 1), e = f(f.s = t[0]))
            }
            return e
        }
    
        var n = {}, o = { 1 : 0 }, u = [];
    
        function f(r) {
            if ( n[r] ) return n[r].exports;
            var t = n[r] = { i : r, l : !1, exports : {} };
            return e[r].call(t.exports, t, t.exports, f), t.l = !0, t.exports
        }
    
        f.m = e, f.c = n, f.d = function (e, r, t) {
            f.o(e, r) || Object.defineProperty(e, r, {
                enumerable : !0,
                get : t
            })
        }, f.r = function (e) {"undefined" !== typeof Symbol && Symbol.toStringTag && Object.defineProperty(e, Symbol.toStringTag, { value : "Module" }), Object.defineProperty(e, "__esModule", { value : !0 })}, f.t = function (e, r) {
            if ( 1 & r && (e = f(e)), 8 & r ) return e;
            if ( 4 & r && "object" === typeof e && e && e.__esModule ) return e;
            var t = Object.create(null);
            if ( f.r(t), Object.defineProperty(t, "default", {
                enumerable : !0,
                value : e
            }), 2 & r && "string" != typeof e ) for ( var n in e ) f.d(t, n, function (r) {return e[r]}.bind(null, n));
            return t
        }, f.n = function (e) {
            var r = e && e.__esModule ? function () {return e.default} : function () {return e};
            return f.d(r, "a", r), r
        }, f.o = function (e, r) {return Object.prototype.hasOwnProperty.call(e, r)}, f.p = "./";
        var i = window.webpackJsonp = window.webpackJsonp || [], l = i.push.bind(i);
        i.push = r, i = i.slice();
        for ( var a = 0; a < i.length; a++ ) r(i[a]);
        var p = l;
        t()
    }([]);
    0
    打赏
    收藏
    点击回答
    您的回答被采纳后将获得:提问者悬赏的 10 元积分
        全部回答
    • 0
    • ミ长发小鹿纯▽\ 普通会员 1楼

      在webpack4中,你可以使用module.exports对象来将打包后的代码插入到HTML中的行内JS。以下是一个简单的示例:

      javascript module.exports = { entry: './src/index.js', output: { filename: 'bundle.js', path: path.resolve(__dirname, 'dist') }, module: { rules: [ { test: /\.js$/, exclude: /node_modules/, use: { loader: 'babel-loader', options: { presets: ['@babel/preset-env'] } } } ] }, plugins: [] }

      在这个示例中,我们首先定义了入口文件(index.js)和输出文件(bundle.js)。然后,我们定义了一个module规则,该规则使用了babel-loader来处理我们的JavaScript代码。我们还指定了一个plugin,该plugin将会自动添加一些额外的代码,例如导入和导出全局变量。

      注意,exclude选项是可选的,你可以指定要排除的文件或目录。在这个例子中,我们排除了node_modules目录,因为它们通常是预处理的,我们不想在输出文件中看到它们。

      最后,我们使用了@babel/preset-env预处理器,它会将我们的代码转换为现代JavaScript,以适应现代浏览器的环境。

    更多回答
    扫一扫访问手机版