小编gpb*_*pbl的帖子

使用webpack解析需求路径

我仍然很困惑如何使用webpack解析模块路径.现在我写道:

myfile = require('../../mydir/myfile.js') 
Run Code Online (Sandbox Code Playgroud)

但我想写

myfile = require('mydir/myfile.js') 
Run Code Online (Sandbox Code Playgroud)

我认为resolve.alias可能有所帮助,因为我看到一个类似的例子使用{ xyz: "/some/dir" }别名然后我可以require("xyz/file.js").

但是,如果我设置别名{ mydir: '/absolute/path/mydir' },require('mydir/myfile.js') 将无法正常工作.

我觉得自己很愚蠢,因为我多次读过这些文档而且我觉得我错过了一些东西.什么是避免用../../等等写出所有相对要求的正确方法?

javascript webpack

159
推荐指数
6
解决办法
17万
查看次数

如何使用Immutable.js从javascript原始对象创建记录映射?

我是immutable.js的新手,我想更好地理解如何从原始JS对象开始使用记录.

随着Immutable.fromJS()我可以创建一个地图将原料对象,例如:

var images = {
   "1": {
    id: "1",
    urls: ["/medium/1.jpg", "/large/1.jpg"]
   },
   "2": {
    id: "2",
    urls: ["/medium/1.jpg", "/large/1.jpg"]
   }
  }

var imagesMap = Immutable.fromJS(images);
Run Code Online (Sandbox Code Playgroud)

imagesMap 现在是一个包含其他地图的地图,每个地图一个.

我想改为创建一个包含记录的地图,例如使用Image定义为的记录:

var ImageRecord = Immutable.Record({ id: undefined, urls: undefined })
Run Code Online (Sandbox Code Playgroud)

我怎么能有s的imagesMap地图ImageRecord?我可以做些什么来通过复兴fromJS,或者我应该采用"旧"方法?

// old approach
var imagesMap = Immutable.Map()
for (key in images) {
   imagesMap.set(key, new ImageRecord(images[key]))
}
Run Code Online (Sandbox Code Playgroud)

javascript immutability reviver-function immutable.js

9
推荐指数
1
解决办法
1万
查看次数

如何从命令行构建和部署react-native应用程序?

我想自动化我的React-Native应用程序的构建+部署,例如提交TestFlight构建.

在提交应用程序之前,我通常会执行以下操作:

  1. 我跑 react-native bundle
  2. 我将构建配置切换到Release架构中
  3. jsCodeLocation在AppDelegate.m中注释掉了相对于代码的代码

是否可以从终端编写单个命令来执行这些步骤,以便我可以使用自动化工具部署它,例如fastlane

到目前为止,我只需要自动完成第二步和第三步.

要改变jsCodeLocation我可以添加条件,例如

#if "<build configuration is release>"
    jsCodeLocation = [NSURL URLWithString:@"http://localhost:8081/index.ios.bundle"];
#else 
    jsCodeLocation = [[NSBundle mainBundle] URLForResource:@"main" withExtension:@"jsbundle"];
#end
Run Code Online (Sandbox Code Playgroud)

但我不知道如何达到构建配置设置.

xcode ios react-native fastlane

9
推荐指数
1
解决办法
5360
查看次数

在swift中扩展类型别名

我处理不同的单位,即distance,altitude,speed,volume,等.

我的目标是在应用程序中使用优雅,独特的方式对其进行格式化,例如调用myValue.formatted:

let mySpeed: Speed = 180
println(mySpeed.formatted) // 5.0 km/h

let myAltitude: Altitude = 4000
println(myAltitude.formatted) // 4000 m
Run Code Online (Sandbox Code Playgroud)

我认为这是使用类型别名的好例子.

typealias Distance = Float
typealias Altitude = Float
typealias Speed = Float
Run Code Online (Sandbox Code Playgroud)

对于该formatted属性,我尝试了extension以下类型Float:

extension Float {
    var formatted: String {
        get {
            switch self {
            case is Altitude:
                return "\(self) m"
            case is Speed:
                return "\(self * 3.6) km/h"
            default:
                return "\(self)"
            } …
Run Code Online (Sandbox Code Playgroud)

ios swift

8
推荐指数
1
解决办法
3489
查看次数

如何知道 iOS 中并行 HTTP 请求何时完成?

我只需要在请求多个 HTTP 资源来收集一些数据后运行一些代码。

\n\n

我读了很多文档,发现我应该使用 GCD 和调度组

\n\n
    \n
  1. 创建一个群组dispatch_group_create()
  2. \n
  3. 对于每个请求:\n
      \n
    • 输入调度组dispatch_group_enter()
    • \n
    • 运行请求
    • \n
    • 收到回复后,离开小组dispatch_group_leave()
    • \n
  4. \n
  5. 等待与dispatch_group_wait()
  6. \n
  7. 释放该组dispatch_release()
  8. \n
\n\n

但我不确定这种做法是否会存在一些陷阱 \xe2\x80\x93 或者是否有更好的方法来等待并行请求完成?

\n\n

下面的代码看起来运行良好:

\n\n
    // Just send a request and call the when finished closure\n    func sendRequest(url: String, whenFinished: () -> Void) {\n        let request = NSMutableURLRequest(URL: NSURL(string: url))\n        let task  = NSURLSession.sharedSession().dataTaskWithRequest(request, completionHandler: {\n            (data, response, error) -> Void in\n            whenFinished()\n        })\n        task.resume()\n …
Run Code Online (Sandbox Code Playgroud)

grand-central-dispatch ios swift ios8

6
推荐指数
1
解决办法
9193
查看次数

如何使用Intl获取工作日名称?

我想在我的i18n-ed应用程序中显示7个工作日的列表:

Sunday, Monday, Tuesday... Saturday
Run Code Online (Sandbox Code Playgroud)

我靠上国际全局对象格式化的日期/时间,但我无法找到一个简单的方法来获得唯一的工作日名称.

我想我可以在EPOCH时间增加一些时间,以达到一周的第一天,但​​我没有在工作日找到格式化器打印.

var date = new Date(0);
date.setDate(4 + day);
for (var i = 0; i < 7; i++) {
  var weekday = new Intl.DateTimeFormat(["en"], {
      weekday: "short" // ?? what should I put here
  }).format(date);
  console.log(weekday);
}
Run Code Online (Sandbox Code Playgroud)

输出:

Sunday, January 4, 1970
Monday, January 5, 1970
Tuesday, January 6, 1970
Wednesday, January 7, 1970
Thursday, January 8, 1970
Friday, January 9, 1970
Saturday, January 10, 1970
Run Code Online (Sandbox Code Playgroud)

期望的输出:

Sunday
Monday
Tuesday …
Run Code Online (Sandbox Code Playgroud)

javascript internationalization ecmascript-intl

6
推荐指数
3
解决办法
1399
查看次数

UITableViewAutomaticDimension与Subtitle UITableViewCells无法正常工作

我正在创建2个部分UITableView.第一部分使用UITableViewCellsDefault风格,第二个使用Subtitle风格.两个单元格都可以具有多行文本标签.

我把桌子设置rowHeightUITableViewAutomaticDimension.

正如您从下面的屏幕截图中看到的那样,UITableViewAutomaticDimension在使用Subtitle样式时仅部分尊重:高度似乎适合textLabel高度但不适合高度detailLabel.

如何让Subtitle细胞达到合适的高度?

一些代码:

override func viewDidLoad() {
    super.viewDidLoad()
    tableView.delegate = self
    tableView.estimatedRowHeight = 80
    tableView.rowHeight = UITableViewAutomaticDimension

    tableView.registerClass(UITableViewCell.self, forCellReuseIdentifier: "defaultCell")
    tableView.registerClass(UITableViewCell.self, forCellReuseIdentifier: "subtitleCell")
}

override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
    if indexPath.section === 1 {
        var cell = UITableViewCell(style: UITableViewCellStyle.Subtitle, reuseIdentifier: "subtitleCell")
        cell.textLabel?.numberOfLines = 0
        cell.textLabel?.text = "A Long text..."
        cell.detailTextLabel?.numberOfLines = …
Run Code Online (Sandbox Code Playgroud)

uitableview uikit ios ios8

6
推荐指数
1
解决办法
397
查看次数

具有负M_PI的CGAffineTransformMakeRotation

我正在使用CGAffineTransformMakeRotation旋转UIView动画块内部,我想逆时针旋转它180º.

但是当我放

myView.animateWithDuration(0.5)
myView.transform = CGAffineTransformMakeRotation(CGFloat(-M_PI))
Run Code Online (Sandbox Code Playgroud)

它仍然顺时针旋转.令我感到困惑的是,如果我"手动"写入值M_PI,它就会按预期工作

 // this will rotate counterclockwise
 myView.transform = CGAffineTransformMakeRotation(CGFloat(-3.14159265358979))
Run Code Online (Sandbox Code Playgroud)

为什么会这样?

编辑:添加我正在使用动画块

uiview cgaffinetransform ios swift ios8

5
推荐指数
2
解决办法
3191
查看次数

jsdom 9.1+ 在聚焦节点时不设置 document.activeElement

我正在使用 jsdom 和酶 + 摩卡 + 柴来测试 React 组件的行为。该组件具有聚焦 DOM 节点的方法(使用通常的node.focus()),我想测试该节点在调用时是否实际聚焦。

要知道哪个节点是重点,我将document.activeElement与我期望重点的节点进行比较。

但是,升级到 jsdom 9.1+ 后,document.activeElement似乎总是HTMLBodyElement,即使在调用节点的focus()方法之后也是如此。

使用 jsdom 9.0 测试运行良好。

我读到 jsdom 9.1+包含一些与焦点事件相关的更改,但我无法理解 make 的document.activeElement行为如何按预期进行。有什么帮助吗?

unit-testing mocha.js jsdom reactjs enzyme

5
推荐指数
1
解决办法
1574
查看次数

Swift中的Float数组中的最大值和最小值

根据这个答案,为了获得阵列的最大值,我们可以做到:

let nums = [1, 6, 3, 9, 4, 6];
let numMax = nums.reduce(Int.min, { max($0, $1) })
Run Code Online (Sandbox Code Playgroud)

我们怎么能为a做同样的事情Array<Float>,因为没有minmaxfor Float

let floats: Array<Float> = [2.45, 7.21, 1.35, 10.22, 2.45, 3];
Run Code Online (Sandbox Code Playgroud)

arrays swift

3
推荐指数
2
解决办法
6847
查看次数