如何从构建中排除.js.map?

时间:2015-02-17 14:42:53

标签: javascript regex dojo dojo-build

我需要从我的构建文件中排除结束/包含

.js.map  

.js.uncompressed.js

我正在尝试使用某些regex但没有成功

        ignore: function(t) {
            return /\.js.map$/.test(t)
        },
        miniExclude: function(t) {
            return /\.js.map$/.test(t)
        }

我正在使用DOJO 1.10。

我在这里做错了什么?


var profile = function() {
    return {
        basePath: "../",
        releaseDir: "dist",
        releaseName: "build",
        optimize: "closure",
        action: "release",
        layerOptimize: "closure",
        copyTests: !1,
        stripConsole: "all",
        version: "ntv-0.0.0",
        cssOptimize: "comments",
        mini: !0,
        staticHasFeatures: {
            "dojo-trace-api": !1,
            "dojo-log-api": !1,
            "dojo-publish-privates": !1,
            "dojo-sync-loader": !1,
            "dojo-xhr-factory": !1,
            "dojo-test-sniff": !1
        },
        resourceTags: {
            amd: function(t) {
                return /\.js$/.test(t)
            },
            ignore: function(t) {
                return /\.js.map$/.test(t)
            },
            miniExclude: function(t) {
                return /\.js.map$/.test(t)
            }
        },
        packages: [{
            name: "dojo",
            location: "dojo"
        }, {
            name: "test",
            location: "test"
        }],
        layers: {
            "dojo/dojo": {
                include: ["dojo/dojo"],
                customBase: !0,
                boot: !0
            },
            "test/c": {
                include: ["test/c/c"],
                customBase: !0,
                boot: !1
            },
            "test/b": {
                include: ["test/b/b"],
                customBase: !0,
                boot: !1
            },
            "test/a": {
                include: ["test/a/a"],
                customBase: !0,
                boot: !1
            }
        }
    }
}();

2 个答案:

答案 0 :(得分:1)

首先,问题中使用的“排除”一词并不十分准确。这些是构建系统生成的文件 - 它们不是源中存在的文件,而是首先被排除在外。

如果您不希望构建生成源地图,请在构建配置文件中设置useSourceMaps: false

对于*.uncompressed.js文件,构建会自动为其缩小的任何模块或图层生成这些文件。如果你真的不想在构建输出中使用它们,那么你需要使用注释中建议的frank之类的命令将它们删除。

这两个文件通常包含的原因是协助调试已构建的应用程序。在正常使用期间,浏览器都不会下载这些文件;它们只会被开发人员工具请求。

答案 1 :(得分:0)

"asd.js.uncompressed.js".match(/.{1,}\.(js\.map|js\.uncompressed\.js)$/g) //match
"khaslkda.js.map".match(/.{1,}\.(js\.map|js\.uncompressed\.js)$/g) //match
"khaslkda.map".match(/.{1,}\.(js\.map|js\.uncompressed\.js)$/g) // no match
"khaslkda.map.js".match(/.{1,}\.(js\.map|js\.uncompressed\.js)$/g) //no match

我真的不知道道场。但是这个正则表达式可能对你有帮助吗?

编辑:我使用了匹配..但它也应该与测试一起使用。 就这样做

/.{1,}\.(js\.map|js\.uncompressed\.js)$/g.test("as-_d.js.uncompressed.js") //true