我写了一个blokus使用ES6语法的npm包.
我曾经create-react-app开始一个项目web-blokus,这取决于blokus.
我可以毫无错误地运行npm start,并web-blokus在我的浏览器中查看我的应用程序,它具有使用该blokus软件包的所有功能.
问题是我在运行时遇到了UglifyJS错误npm build.
static/js/main.8afd34e2.js from UglifyJs
SyntaxError: Name expected [./~/blokus/blokus/blokus.js:3,0]
Run Code Online (Sandbox Code Playgroud)
似乎有一种已知的情况,UglifyJS不支持ES6依赖(这里和这里有一些相关的问题线程).但是我通读了这些主题以及其他一些主题,我对于计划更新的内容和人们正在做的工作方式感到非常困惑.
所以我想
1)如果你的应用程序有任何ES6依赖项,create-react-app请确认无法开箱即用(一旦你去npm build)
2)询问人们正在做什么来修复/绕过问题(我是否必须弹出,并为UglifyJS换掉一些东西?)
既然create-react-appES6现在如此受欢迎,我认为我要么误解了这个限制,要么讨论并知道处理这个限制的标准方法.
我目前的理解是,data并且files都将数据放入POST(requests.post())的主体,但它们之间有什么区别?何时应该使用另一个,或两者兼而有之?最后,HTTP API是否可以要求事物在一个或另一个中,或者它可能无关紧要,因为它们在接收端无法区分?
我有一个create_group带有可选参数的函数user_device=None。如果为 提供了非 None 值user_device,我希望字典targeting_spec包含键值对"user_device": user_device,如果没有提供非 None 值,我不想targeting_spec包含此键值对。
我现在怎么做:
def create_group(..., user_device=None, ...):
...
targeting_spec = {
...
}
if user_device:
targeting_spec["user_device"] = user_device
...
Run Code Online (Sandbox Code Playgroud)
这是一种公认的做法吗?如果不是,那是什么?我问是因为这似乎是 Python 喜欢优雅解决的类型。
对于单层dicts x = {'a': 1, 'b': 2},问题很容易,并在SO上回答(Pythonic方式检查两个字典是否有相同的键集?)但是嵌套dicts呢?
例如,y = {'a': {'c': 3}, 'b': {'d': 4}}有键'a','b'但我想将其形状与另一个嵌套的dict结构进行比较z = {'a': {'c': 5}, 'b': {'d': 6}},因为它具有相同的形状和键(不同的值很好)y.w = {'a': {'c': 3}, 'b': {'e': 4}}会有键'a','b'但在它的下一层不同,y因为w['b']有键'e'而y['b']有键'd'.
想的两个参数的短/简单的功能dict_1和dict_2并返回True,如果他们有,如上所述,以及相同的形状和键False除外.
如果我想检索所有条目以使列foo值包含一个字符串'bar',是否有一种简单的方法可以在SQL或Postgresql中做到这一点?
有点像' WHERE foo = "bar"'但并非如此的=像' WHERE foo CONTAINS "bar"'。
Postgres 9.3版
给定一个日期字符串,我如何获得描述该日期字符串的格式字符串?
换句话说,如果没有通过显式格式使用,我如何获得Date()或MomentJS(可能每个都不同,没关系)的格式字符串将用于解析该datestring?
因此,'2016-01-01'它应该输出类似的东西'YYYY-MM-DD',例如.
(我知道这是一个简单的问题,并且可能在某个地方有答案,但很难简明扼要地说,所以我只能找到关于如何解析日期字符串或如何显示日期的问题和答案.无论如何输出格式本身.)
我使用Python的requests库编写了一个特定的API包装器.
当它获得响应时requests.get,它会尝试解析为json并获取原始内容(如果它不起作用):
resp = requests.get(url, ...)
try:
resp_content = resp.json()
except ValueError:
resp_content = resp.content
return resp_content
Run Code Online (Sandbox Code Playgroud)
这对我的目的是正确的.问题是下载的响应是图像文件需要多长时间,例如,如果它很大,那么在输入try和失败json解析并输入之前需要很长时间except.
(我不知道是否需要超长时间来.json()完成错误,或者如果一旦错误则需要一段时间才能进入except.)
有没有办法看看是否respjson可解析而不试图解析它.json()?有点像resp.is_json,所以我可以立即知道要采取(resp.json()或resp.content)哪个分支,而不是等待30秒(大文件可能需要几分钟).
编辑:
如上所述,这种缓慢对于requestsjson解析来说并不常见.它可能与我收到的数据的性质有关(它来自Salesforce REST API,检索Attachment对象的'Body'字段).
即使这是一种解决方法,我也会将我的解决方案放在这里,以防该策略帮助其他任何人.我意识到我正在进行调用,我通常知道我是否希望响应是二进制数据,所以我可以将一个关键字参数传递给我的包装函数,告诉它跳过json解析尝试.
def SalesforceWrapper(..., attempt_json=True):
resp = requests.get(url, ...)
try:
if attempt_json:
resp_content = resp.json()
else:
resp_content = resp.content
except ValueError:
resp_content = resp.content
return resp_content
Run Code Online (Sandbox Code Playgroud)
attempt_json=False当我希望响应是文件的数据而不是lil JSON响应时,我会通过.
我通过Facebook的Power Editor上传了一封212封电子邮件,几秒钟后我就可以看到有200位用户在观众中.
我通过Facebook的Power Editor将相同212封电子邮件的sha256哈希的csv上传到另一个自定义受众群中,几秒钟后我就可以看到有100个用户在观众中.
我使用广告API将这些相同的212个散列电子邮件列表添加到不同的自定义受众群中,几秒钟后我就可以看到有100个用户在观众中.
在我看来,上传原始电子邮件和散列电子邮件不应该改变在Facebook中可以匹配的数量.这种行为是预期还是意外?为什么会这样?
当我跑步时,sudo pip install --upgrade six我遇到了以下问题:
2016-01-20 18:29:48|optim $ sudo pip install --upgrade six
Collecting six
Downloading six-1.10.0-py2.py3-none-any.whl
Installing collected packages: six
Found existing installation: six 1.4.1
Detected a distutils installed project ('six') which we cannot uninstall. The metadata provided by distutils does not contain a list of files which have been installed, so pip does not know which files to uninstall.
我有Python 2.7,我在Mac OS X 10.11.1上.
如何使升级成功?
(还有其他类型的相关帖子,但它们实际上并没有解决同样的错误.)
编辑:
我被告知我可以six通过删除东西手动删除site-packages.这些是以下site-packages开头的文件six: …
如果不是内置功能,是否有允许 Python 的 Tkinter 使用 CSS 的附加包?