Javascript 警告:丑化失败。意外令牌:eof(未定义)
我在grunt中使用uglify,出于某种原因,它会在我的应用程序文件中抛出一条警告: 警告:丑化失败。意外标记:eof(未定义)。线 dist/app.annotated.js中的15472使用--force继续 这是包含以下行的文件:Javascript 警告:丑化失败。意外令牌:eof(未定义),javascript,uglifyjs,Javascript,Uglifyjs,我在grunt中使用uglify,出于某种原因,它会在我的应用程序文件中抛出一条警告: 警告:丑化失败。意外标记:eof(未定义)。线 dist/app.annotated.js中的15472使用--force继续 这是包含以下行的文件: 15469 $scope.selectLocation = function () { 15470 $("#locationIframe").html(''); 15471 if (($scope.LeadObj.address1
15469 $scope.selectLocation = function () {
15470 $("#locationIframe").html('');
15471 if (($scope.LeadObj.address1 == "" || $scope.LeadObj.address1 == null) && $scope.LeadObj.ip != null) {
15472 $scope.showLocation = 'loading';
15473 $.ajax({
15474 type: 'GET',
除了这个代码很愚蠢之外,为什么我会收到这个警告?正如评论中所建议的那样,问题在于这些行是如何结束的。并非所有这些都以UNIX风格的
\n
结尾
解决方案是使用grunt-lineending
将文件转换为使用正确的行尾,然后再进行丑化
lineending: {
dist: {
options: {
overwrite: true,
eol: 'lf'
},
files: {
'': ['dist/**/*.js']
}
}
},
EOF
表示文件在仍希望看到更多代码时结束。有15475行吗?@Pointy还有数千行。使用app.annotated.js对我来说是可行的(在控制台中没有错误),但由于某种原因,它无法使我感到丑陋。这种情况通常表明代码中有一个不可见的字符。问题中的代码中似乎没有,但如果它不是纯粹的复制和粘贴(或者在某些情况下,如果是),它可能会被删除。@t.J.Crowder好的,我将我在这里编写的代码复制回我的源文件,但仍然存在相同的问题,这意味着一个不可见的字符不能删除可能你应该只做wc-l dist/app.annotated.js。如果行计数超过15472,您可能希望在执行ls-l
vs文件中的实际字节时检查文件中列出的字节数。