【发布时间】:2019-10-02 01:04:05
【问题描述】:
我正在使用 libman.json 将客户端库从 cdnjs 拉到我项目中的文件夹中。然后,我想将这些库捆绑并缩小到一个 js 文件中,该文件将在 Web 应用程序中部署和引用。为此,我使用了一个名为 Bundler & Minifier 的视觉工作室扩展。我已经在我的 bundle.config 中设置了所有内容,但是我遇到了我试图捆绑的库之一的问题。具体来说,如果我尝试在包中包含 Chart.js (2.8.0),我会在构建时收到以下错误:
(Bundler & Minifer) 严格模式不允许分配给未定义 变量:r
这不应该是警告而不是错误吗?我不明白这应该如何防止捆绑/缩小并导致构建失败。有没有办法覆盖这种行为?
【问题讨论】:
-
我不认为这是一个真正的捆绑错误...... .js 文件正在使用严格模式。在严格模式下,.js 应该显式定义变量...(不能使用未定义的变量)...只需修复 .js 文件中的错误(使用
var定义变量)或删除"use strict";跨度> -
我同意,但问题是我不应该修改我通过包管理器获得的第三方库,因为我团队中的每个人都需要确保他们进行相同的修改。我同意 Chart.js 开发人员在他们的源代码中放置“use strict”然后不遵守所有规则是错误的,但我仍然认为这不应该阻止缩小和捆绑。应该肯定会打印一个警告,但它不应该阻止我构建我的解决方案。
-
Chart.js 有问题。如果您查看下面链接中第 359-364 行的源代码,您会看到 case 语句设置了一个变量 r 而没有声明 r。这就是导致捆绑器失败的原因。 cdnjs.cloudflare.com/ajax/libs/Chart.js/2.8.0/Chart.bundle.js
-
可能会在他们的 github 上提出问题/错误...
-
我会这样做,但同时我希望有一个解决方法,因为这实际上阻止了我构建我们的解决方案。
标签: javascript asp.net-mvc visual-studio visual-studio-2019