我正在从头开始学习webpack.我已经学会了如何将javascript文件与require链接起来.我正在捆绑和缩小我的js文件,我正在监听手表的变化.我正在设置加载器将我的sass文件转换为css.但是当我尝试使用jshint-loader设置linting过程时,我遇到了问题.
module: {
preLoaders: [
{
test: /\.js$/, // include .js files
exclude: /node_modules/, // exclude any and all files in the node_modules folder
loader: "jshint-loader"
}
],
loaders: [
{
test: /\.scss$/,
loader: 'style-loader!css-loader!sass-loader'
},
{
test: /\.js$/,
loader: 'babel-loader',
exclude: /node_modules$/,
query: {
presets: ['es2015']
}
}
],
Run Code Online (Sandbox Code Playgroud)
}
这是错误
配置对象无效.Webpack已使用与API架构不匹配的配置对象进行初始化. - configuration.module有一个未知属性'preLoaders'.这些性质是有效的:对象{exprContextCritical ?, exprContextRecursive ?, exprContextRegExp ?, exprContextRequest ?,装载机?, noParse ?,规则?,?,unknownContextCritical ?, unknownContextRecursive ?, unknownContextRegExp ?, unknownContextRequest ?, unsafeCache ?, wrappedContextCritical ?, wrappedContextRecursive wrappedContextRegExp ?影响正常模块的选项(
NormalModuleFactory).
如何调试 facebook 调试器?
问题的详细说明:
我使用"帖子和页面中的开放图谱协议"插件手动输入我自己托管的wordpress网站上的帖子的OG数据.在Facebook上分享之前,我在FB调试工具中测试帖子的url,结果总是正确的.
但是,最近调试器返回了以下错误消息:"错误链接URL:在绘制URL时发生内部错误",我几天都无法摆脱它.我尝试再次调试几次,但没有帮助.它被卡住了.我用谷歌搜索解决方案,但我找不到任何解决方案.我可能错了,但这个错误信息似乎很少见.
我不是专家,但我认为调试工具在某种程度上被我帖子中的双OG数据搞糊涂了:
我只需要第一个,我ussualy删除JWPlayer的自定义字段,但这次我忘了这样做.
在调试器返回错误消息后,我删除了JWP自定义字段,希望它们引起一些冲突,我保存了帖子并尝试再次调试.调试器再次返回错误消息.
Graph API看到有关我的帖子的过时信息,它不会刷新它,虽然我纠正了我的帖子中的所有内容,然后我调试了几次.在我看来,调试器在我的URL中看到了一个错误,并且不会忘记它.
我甚至删除了帖子,将其内容复制并粘贴到一个新帖子并给它相同的标题(失去那些可能跟随短暂固定链接的访问者,但无论如何).调试器以相同的方式对重新发布的帖子做出反应.再次出现错误消息 我在调试器中测试了我的其他帖子,一切都很完美.显而易见的是,调试器记住了这个特定的url.如果我在网址中的不同标题下重新发布帖子,问题就会消失.
我向Facebook分享了这个有问题的网址,奇怪的是它显示了正确的数据.一切似乎都没问题:标题,描述,缩略图等...但是,我测试了我的帖子中的分享按钮,它在Facebook上显示错误的数据,虽然我已经纠正了它.调试器会看到不再在帖子中的数据.出于这个原因,我被迫删除了分享按钮,因此访问者不会在Facebook上分享错误的信息.
现在我处于矛盾状态,试图找到一种调试调试器的方法.如何刷新它的内存,以便它可以忘记我的网址,我可以从零开始一个新的开始?
如你所见,我不是这些问题的专家.我花了很多时间和资源来构建我的网站,而没有任何PHP和CSS的知识,现在一切都因为这些facebook错误而下地狱.我正在失去处理这种不足的宝贵时间.为什么一切都必须如此复杂?我问所有开发人员,请制作一个好的,简单的,用户友好的工作标准并坚持下去.请停止复杂化.现在这个错误信息是什么?调试器提供绝对没有解释和解决方案.它没有解决问题,而是陷入困境并成为一个问题本身.人们唯一能做的就是等待希望错误会自行消失.这是纯粹的不存在.
额外细节:
这就是Graph API在我的网址中看到的内容.虽然该数据不再有效,但调试器仍会记住它.您可以看到JWPLayer插件自动插入的视频OG:
{
"url": "http://mydomain/post-title/",
"type": "video.movie",
"title": "",
"image": [
{
"url": "http://mydomain/uploads-folder/post-title-video-thumbnail.jpg"
},
{
"url": "http://mydomain/uploads-folder/post-thumbnail.jpg"
}
],
"video": [
{
"url": "http://mydomain/uploads-folder/jw-player-plugin-for-wordpress/player/player.swf?file=http\u00253A\u00252F\u00252Fmydomain\u00252Ffiles\u00252Fvideo-title.flv&controlbar=bottom&dock=false&autostart=false&height=331&width=545&captions.back=false&captions.fontsize=12&captions.state=true&icons=true&playlist.position=none&playlistsize=180&repeat=none&shuffle=false&bufferlength=1&smoothing=true&stretching=uniform&wmode=opaque&mute=false&volume=90&plugins=captions-1\u00252Cgapro-2\u00252C&gapro.accountid=UA-76476476476-1&gapro.trackstarts=true&gapro.trackpercentage=true&gapro.tracktime=true",
"type": "application/x-shockwave-flash",
"width": 545,
"height": 331
}
],
"description": "",
"site_name": "here's the name",
"updated_time": "2012-12-05T20:09:40+0000",
"id": "754654658476545"
Run Code Online (Sandbox Code Playgroud)
这是调试器在更正后应该看到的内容,但它没有这样做.但是,当网址粘贴在Facebook上时,它会正确显示:
{
"url": "http://mydomain/post-title/",
"type": "website",
"title": "here's the title",
"image": [
{ …Run Code Online (Sandbox Code Playgroud) 我能找到的最接近的问题是Android Studio 3.0 lint警告,用于引用活动,但它没有帮助.
使用AndroidStudio 3.0.1,我有一个DialogFragment常用的东西:
@Override
@NonNull
public Dialog onCreateDialog(Bundle savedInstanceState) {
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
...
Run Code Online (Sandbox Code Playgroud)
我有一条皮带警告呻吟着我Argument 'getActivity()' might be null.
我理解为什么 getActivity()可能为null,我理解lint检查如何知道这一点(来自@Nullable注释).
我的问题是:这一切都非常好,getActivity()可能是空的,但实际上我应该如何优雅和整洁地处理这个问题呢?onCreateDialog 必须返回一个Dialog(因为超类' @Nullable注释)所以我必须有Activity上下文来创建它.
我可以假设,onCreateDialog如果DialogFragment没有附加到活动,将永远不会被调用,但仍然 - 我如何解决不整洁的lint警告?
看一下这段代码片段.我在最后一行收到错误,因为我传递的是"索引"而不是资源.我认为这是一个皮棉问题,并试图压制它.然后我注意到我只是在构建发布时才收到此错误.构建调试时它工作正常.我完全无能为力.任何人都可以对我做错的事情有所了解.
//Get paddingLeft, paddingRight
int[] attrsArray = new int[]{
android.R.attr.paddingLeft, // 0
android.R.attr.paddingRight, // 1
};
TypedArray ta = context.obtainStyledAttributes(attrs, attrsArray);
if (ta == null) return;
mPaddingLeft = ta.getDimensionPixelSize(0, 0);
mPaddingRight = ta.getDimensionPixelSize(1/*error here*/, 0);
Run Code Online (Sandbox Code Playgroud) 我被迫使用Google Play服务(我需要定位服务).因此,在我在设备上编写所有代码和测试应用程序后,我尝试导出已签名的应用程序.而我得到的只是Lint错误(即使我将Lint中的MissingTranslation错误从致命变为警告)
"auth_client_using_bad_version_title"
is translated here but not found in default locale
Run Code Online (Sandbox Code Playgroud)
这个错误在所有"values-"文件夹中重复我知道我可以在导出应用程序之前禁用lint检查.但有没有办法在没有任何黑客,错误和谷歌开发人员诅咒的情况下做到这一点?所以我认为这个案例有两个:
只要我的目标更新SDK至30(安卓R),棉绒警告Missing PendingIntent mutability flag出现在我的PendingIntent.FLAG_UPDATE_CURRENT标志时,我想定义PendingIntent。
我应该如何处理这个 lint 而不影响应用程序功能?
我知道有很多棉短绒编程语言,如pep8对python,但我从来没有碰到过一个了makefile.是否有任何这样的短信makefile?
随着我逐渐使用a makefile,它会变得越来越复杂和冗长,对我而言,使用linter来保持makefile更具可读性是有意义的.
我./gradlew clean lint在控制台中运行命令并在build/lint/ReleaseOutput.html和build/lint/ReleaseOutput.xml中获取Lint报告我得到了相同错误的6倍:
而且我在XML文件中也看到6次相同的问题:
<issue
id="UselessParent"
severity="Error"
...
</issue>
Run Code Online (Sandbox Code Playgroud)
那么,它为什么会发生以及如何避免这样的问题呢?因为一个问题乘以6并且在Jenkins统计中不明显地显示.
更新:
我发现这个bug与gradle lint任务有关.要获得lint metrix Gradle几次构建:
file="build/manifests/release/AndroidManifest.xml"
file="build/manifests/debug/AndroidManifest.xml"
Run Code Online (Sandbox Code Playgroud)
所以它也可以使问题总数翻倍.
当我对项目中的文件运行Lint检查时,我经常遇到一个看起来像这样的错误(编辑文件的实际名称,但你会得到这个想法):
当'file'filepath_to_the_class_being_analyzed'的补充范围也不包含对模块'some_3rd_party_library'的引用时,可能会删除模块'some_3rd_party_library'上模块'name_of_my_project'的依赖关系.
我为每个没有使用Gradle编译的库得到了这个错误 - 即已经整个导入项目然后作为依赖项添加的库.
Facebook是一个很好的图书馆的例子,即使你想通过Gradle你编译它也不能,因为他们不支持它,你需要将它作为本地库运行 - 看起来你会收到这个"不必要的模块依赖"对每个不直接调用Facebook的类的警告.
所以,问题是 - 处理这个错误的"正确"方法是什么?我是否会忽略它,或者我是否应该以某种方式更改代码以使其消失?
编辑:在Lint的首选项菜单中,它描述了如下检查(如果这有助于弄清楚):
此检查列出了包含其他模块的冗余依赖性的模块.可以安全地删除这些依赖项.
我的应用程序分为主应用程序和不同的库模块.我跑的时候
./gradlew lint
Run Code Online (Sandbox Code Playgroud)
每个模块都是独立检查的,每个模块都会生成一个lint.xml文件.在lint.xml文件中有大量未使用的资源警告,但该资源在主应用程序中使用.如果使用资源,如何配置lint以在应用程序中全局检查?
谢谢 :)