是否有可能不在 .NET 缩小中进行处理?
is it possible to not mangling in .NET minification?
为了捆绑和缩小我的应用程序的文件,我正在使用 .NET 捆绑和缩小 功能(使用任何其他工具都很复杂,所以我想找到一个解决方案)。
顺便说一句,为了以防万一,我正在尝试缩小 angular
文件,从 typescript
和常规 javascript
文件编译的文件。
问题是,当我执行应用程序时,我遇到了一些主要与 angular
有关的 javascript 异常。我认为它没有用,但也许会有帮助,所以这是我得到的主要例外:
Error: [$injector:unpr] Unknown provider: tProvider <- t <- highChartSeriesMappingService
http://errors.angularjs.org/1.5.5/$injector/unpr?p0=tProvider%20%3C-%20t%20%3C-%20highChartSeriesMappingService
[Rest of the exception trace][...]
如果我只是捆绑它们而不缩小我的文件,通过设置此指令 myScriptBundle.Transforms.Clear()
,它可以正常工作。显然,这个动作也避免了变量的混淆,类...names.
为了确定发生了什么,我使用 grunt
and its plugin grunt-contrib-uglify
进行捆绑和缩小。由于我用于任务的基本配置,一开始我遇到了与以前相同的问题:
uglify: {
options: {
preserveComments: false
},
myScript: {
files: {
'myScript.min.js': conf.myScript
}
}
}
其中 conf
是对 json
文件的引用,其中 url 个文件要缩小。但是当我将 mangle
属性 设置为 false (here you have more info about it):
uglify: {
options: {
preserveComments: false,
mangle: false
},
myScript: {
files: {
'myScript.min.js': conf.myScript
}
}
}
它也很好用。这让我认为这是一些 类 名称的错位问题的根源。
如您所见,我使用 grunt
找到了一个解决方案,但我想找到一种方法来避免与 .NET
混淆。有什么想法吗?
阅读@AbdelrhmanMohamed 的 post 并再次检查我的项目文件后,我意识到这是与 angular
及其数组语法相关的问题;一些文件缺少通过数组字符串的依赖项注入,所以当这些文件最小化和函数名称损坏导致我在执行时出现异常。
总而言之,.NET 绑定和缩小过程似乎工作正常。如果您使用 angular,您只需确保所有依赖于其他模块的 类 都具有定义了这些依赖项的数组字符串。
为了捆绑和缩小我的应用程序的文件,我正在使用 .NET 捆绑和缩小 功能(使用任何其他工具都很复杂,所以我想找到一个解决方案)。
顺便说一句,为了以防万一,我正在尝试缩小 angular
文件,从 typescript
和常规 javascript
文件编译的文件。
问题是,当我执行应用程序时,我遇到了一些主要与 angular
有关的 javascript 异常。我认为它没有用,但也许会有帮助,所以这是我得到的主要例外:
Error: [$injector:unpr] Unknown provider: tProvider <- t <- highChartSeriesMappingService http://errors.angularjs.org/1.5.5/$injector/unpr?p0=tProvider%20%3C-%20t%20%3C-%20highChartSeriesMappingService [Rest of the exception trace][...]
如果我只是捆绑它们而不缩小我的文件,通过设置此指令 myScriptBundle.Transforms.Clear()
,它可以正常工作。显然,这个动作也避免了变量的混淆,类...names.
为了确定发生了什么,我使用 grunt
and its plugin grunt-contrib-uglify
进行捆绑和缩小。由于我用于任务的基本配置,一开始我遇到了与以前相同的问题:
uglify: {
options: {
preserveComments: false
},
myScript: {
files: {
'myScript.min.js': conf.myScript
}
}
}
其中 conf
是对 json
文件的引用,其中 url 个文件要缩小。但是当我将 mangle
属性 设置为 false (here you have more info about it):
uglify: {
options: {
preserveComments: false,
mangle: false
},
myScript: {
files: {
'myScript.min.js': conf.myScript
}
}
}
它也很好用。这让我认为这是一些 类 名称的错位问题的根源。
如您所见,我使用 grunt
找到了一个解决方案,但我想找到一种方法来避免与 .NET
混淆。有什么想法吗?
阅读@AbdelrhmanMohamed 的 post 并再次检查我的项目文件后,我意识到这是与 angular
及其数组语法相关的问题;一些文件缺少通过数组字符串的依赖项注入,所以当这些文件最小化和函数名称损坏导致我在执行时出现异常。
总而言之,.NET 绑定和缩小过程似乎工作正常。如果您使用 angular,您只需确保所有依赖于其他模块的 类 都具有定义了这些依赖项的数组字符串。