我有以下HTML:
<div class="outer">
<div class="inner rotate">Centered?</div>
</div>
Run Code Online (Sandbox Code Playgroud)
div.outer是一个狭窄的垂直条带.div.inner旋转90度.我想文字"居中?" 显示在其容器div中居中.我事先不知道div的大小.
这很接近:http://jsfiddle.net/CCMyf/2/.你可以从jsfiddle看到文本在transform: rotate(-90deg)应用样式之前是垂直居中的,但在之后有些偏移.这在div.outer短时间内尤其明显.
是否可以在不事先知道任何尺寸的情况下垂直居中这个文本?我没有找到任何transform-origin解决这个问题的价值观.
我有一个带有一些可选字段和该类型变量的 TypeScript 接口:
interface Foo {
config?: {
longFieldName?: string;
}
}
declare let f: Foo;
Run Code Online (Sandbox Code Playgroud)
我想放入longFieldName一个同名的变量。
如果config不是可选的,我会使用解构赋值来做到这一点而不重复longFieldName. 但确实如此,所以我收到了一个类型错误:
const { longFieldName } = f.config;
// ~~~~~~~~~~~~~ Property 'longFieldName' does not exist on type '{ longFieldName?: string | undefined; } | undefined'.
Run Code Online (Sandbox Code Playgroud)
我可以使用可选链接来简洁地处理这种undefined情况:
const longFieldName = f?.config.longFieldName; // OK, type is string | undefined
Run Code Online (Sandbox Code Playgroud)
但现在我要重复一遍longFieldName。
我可以吃蛋糕也吃吗?我可以使用可选链来处理这种undefined情况而不重复longFieldName吗?如果没有,最简洁/惯用的解决方法是什么?请参阅游乐场链接。
我有一个小的Flask应用程序,它目前从外部服务器获取jQuery和highlight.js.我想通过NPM来创建这些本地依赖项.
这是什么标准做法?我应该package.json在与我static和templates目录相同的目录中创建文件,并node_modules作为一个单独的静态目录这个问题吗?
我正在使用包装和分发我的应用程序pip,因此任何解决方案都需要与之兼容.
当我尝试将新的docker图像推送到gcr.io使用时gcloud docker push,它经常在停止之前取得一些进展:
$ gcloud docker push gcr.io/foo-bar-1225/baz-quux:2016-03-23
The push refers to a repository [gcr.io/foo-bar-1225/baz-quux]
762ab2ceaa70: Pushing [> ] 556 kB/154.4 MB
2220ee6c7534: Pushing [===> ] 4.82 MB/66.11 MB
f99917176817: Layer already exists
8c1b4a49167b: Layer already exists
5f70bf18a086: Layer already exists
1967867932fe: Layer already exists
6b4fab929601: Layer already exists
550f16cd8ed1: Layer already exists
44267ec3aa94: Layer already exists
bd750002938c: Layer already exists
917c0fc99b35: Layer already exists
Run Code Online (Sandbox Code Playgroud)
推送无限期地保持在这种状态(我已经离开它一小时而没有一个字节的进展).如果我按Ctrl-C终止此进程并重新运行它,它将完全相同,并再次没有进展.
我发现的唯一解决方法是重新启动计算机并重新运行"Docker Quickstart Terminal".然后推动成功.
是否存在停滞推送的解决方法,不需要经常重启我的计算机?(我在Mac OS X上.)
docker gcloud google-kubernetes-engine google-container-registry
我正在按照此示例在 Mapbox GL JS 页面中使用 Three.js 渲染一些自定义图层。我想添加光线投射来确定用户点击了哪个对象。
问题是我只从 Mapbox 获得了一个投影矩阵,我用它来渲染场景:
class CustomLayer {
type = 'custom';
renderingMode = '3d';
onAdd(map, gl) {
this.map = map;
this.camera = new THREE.Camera();
this.renderer = new THREE.WebGLRenderer({
canvas: map.getCanvas(),
context: gl,
antialias: true,
});
this.scene = new THREE.Scene();
// ...
}
render(gl, matrix) {
this.camera.projectionMatrix = new THREE.Matrix4()
.fromArray(matrix)
.multiply(this.cameraTransform);
this.renderer.state.reset();
this.renderer.render(this.scene, this.camera);
}
}
Run Code Online (Sandbox Code Playgroud)
这渲染得很好,并在我平移/旋转/缩放地图时跟踪视图中的变化。
不幸的是,当我尝试添加光线投射时,出现错误:
raycast(point) {
var mouse = new THREE.Vector2();
mouse.x = ( point.x / this.map.transform.width ) * …Run Code Online (Sandbox Code Playgroud) 我很幸运使用React的JSXTransformer.js在浏览器中使用JSX进行开发:
<script src="http://fb.me/JSXTransformer-0.11.1.js"></script>
<script type="text/jsx">
/** @jsx React.DOM */
...
</script>
Run Code Online (Sandbox Code Playgroud)
为了减少样板,我想使用Harmony的一些功能,例如箭头功能.Facebook的JSX编译器服务有一个和声复选框,可以将ES6转换为更传统的JS:
var f = v => this.props[v];
// becomes var f = function(v) { return this.props[v]; }.bind(this);
Run Code Online (Sandbox Code Playgroud)
是否可以使用浏览器内JSX启用此转换?
在2014年11月,3个月前,Facebook开源了一个新的命令行工具,一个名为" Flow " 的静态类型检查器.现在我想在一些旧的现有javascript文件上运行它.这些包含对jQuery库的引用.
我的JS文件不是用静态类型检查编写的.但是,在文件顶部包含/*@flow*/之后,当我使用此命令运行flow时:
flow myfile.js
Run Code Online (Sandbox Code Playgroud)
结果:
/var/www/myfilejs:70:12,17: identifier jQuery
Unknown global name
Found 1 error
Run Code Online (Sandbox Code Playgroud)
据我了解,将jQuery包含在Flow的类型检查过程中的方法是创建一个"接口文件".
有人为jQuery库做过这个吗?(我使用jQuery 1.9)
我在 GCS 存储桶中有一些内容:
$ gsutil ls gs://my-bucket
index.html
Run Code Online (Sandbox Code Playgroud)
我想使用 Identity-Aware Proxy (IAP) 在 OAuth 后面提供此服务。我正在遵循这些说明。
我已经创建了一个负载均衡器和“后端存储桶”,如下所示:
但是,在 Identity-Aware Proxy 页面上,我没有看到我的负载均衡器列出:
是否可以将 IAP 与后端存储桶一起使用?
Google AppEngine应用程序可通过DNS在可预测的位置自动访问(appname.appspot.com).Google Container Engine实例也是如此吗?
为GKE实例提供公共IP很简单,但如果您想共享演示链接(不必担心它们会改变)或使用Google OAuth(不允许使用静态IP作为回调URL),这种方法效果不佳.
我可以使用Google Cloud DNS注册域并配置子域以指向每个容器引擎实例的IP.但如果GKE已经这样做会更简单!
我有一个服务器,我用Express和node-postgres(pg)编写.它创建自己的数据库池:
const dbPool = new pg.Pool(dbConfig);
Run Code Online (Sandbox Code Playgroud)
并使用此连接直接运行SQL查询.
现在我正在添加一个新表和相应的REST API.我想用sequelize和epilogue来减少样板.不幸的是,sequelize想要创建自己的数据库连接池:
const sequelize = new Sequelize(database, user, password, config);
Run Code Online (Sandbox Code Playgroud)
是否可以重用现有的连接池,或者在现有pg代码和新sequelize代码之间共享?
javascript ×3
node.js ×2
centering ×1
css ×1
css3 ×1
docker ×1
facebook ×1
flask ×1
flowtype ×1
gcloud ×1
google-iap ×1
jquery ×1
mapbox-gl-js ×1
npm ×1
pip ×1
postgresql ×1
python ×1
raycasting ×1
reactjs ×1
sequelize.js ×1
three.js ×1
typechecking ×1
typescript ×1