首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Ajaxmin MinifyJavascript在对象之前添加{}

Ajaxmin MinifyJavascript在对象之前添加{}
EN

Stack Overflow用户
提问于 2018-11-13 10:55:31
回答 1查看 142关注 0票数 1

在使用AjaxMin的javascript文件方法缩小MinifyJavaScript时,我面临一个问题。

非缩小代码

代码语言:javascript
复制
if (typeof define === 'function' && define.amd) {
        define(['moment'], function (moment) {
            root.moment = factory(moment)
            return root.moment
        })
    } else if (typeof exports === 'object') {
        module.exports = factory(require('moment'))
    } else {
        root.moment = factory(root.moment)
    }

小型化代码

代码语言:javascript
复制
if(typeof define=="function"&&define.amd)define(["moment"],function(i){return n.moment=t(i),n.moment});else if(typeof exports=="object"){module{}.exports=t(require("moment"))}else n.moment=t(n.moment)}

在精简代码中,在模块对象之后添加"{}“,例如:模块{}.exports,但它应该是module.exports

在缩小文件之前,几乎没有其他文件:1.jQuery3.3.1.min.js2. moment.min.js

所有的文件都捆绑在一个文件中,在此之后,小型化就完成了。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-11-15 07:01:57

我认为这就是问题的原因。

  1. ajaxmin 源代码模块似乎是一个保留字。
  2. 如果/else作用域没有正确编译到输出。

这似乎导致了这个问题。

代码语言:javascript
复制
var blockType = AjaxMin.BlockTypeModule.FormatInvariant
(moduleScope.ScopeName.IfNullOrWhiteSpace(AjaxMin.ModuleNameImplicit));

解决办法(这是我在我的项目中所做的):

  • 可以将字符串module{}.替换为module.
  • 使用三元操作符而不是if/ the (很可能这会跳过整个块的替换)
  • 使用该文件的minify版本(这将跳过minify)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53279453

复制
相关文章

相似问题

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