小编Sen*_*eca的帖子

Webpack Babel 6

当我尝试使用webpack和babel-loader编译我的javascript时,我得到:( Babel版本6+)

Hash: f6a14faa8862d530512e
Version: webpack 1.12.3
Time: 96ms
     Asset     Size  Chunks             Chunk Names
backend.js  1.75 kB       0  [emitted]  main
backend.js.map  1.43 kB       0  [emitted]  main
chunk    {0} backend.js, backend.js.map (main) 28 bytes [rendered]
[0] multi main 28 bytes {0} [built] [1 error]

ERROR in The node API for `babel` has been moved to `babel-core`.
@ multi main
Patched!
Run Code Online (Sandbox Code Playgroud)

如何将节点API移动babelbabel-core

javascript webpack babeljs

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

Swift写地图,长度,过滤为减少

作为练习,我正在尝试将map,length和filter编写为reduce函数.

func map<T>(array: [T], f: (T->T)) -> [T] {
    return array.reduce([]) {
        (var seed, value) in
        seed.append(f(value))
        return seed
    }
}

func length<T>(array: [T]) -> Int {
    return array.reduce(0){ (x,_) in x + 1 }
}

func filter<T>(array: [T], predicate: (T->Bool)) -> [T]{
    return array.reduce([]){
        (var seed, value) in
        if predicate(value){
            seed.append(value)
        }
        return seed
    }
}
Run Code Online (Sandbox Code Playgroud)

这是我可以用来将这些函数重写为reduce的最优雅的语法吗?第二个问题:map采用函数f:(T-> T)基本上类型说我只能返回T类型的东西,但如果我写的函数将类型T转换为Bool,或者和Int ...怎么做我做到了吗?好像地图不存在

function swift

10
推荐指数
1
解决办法
451
查看次数

Relayjs Graphql用户身份验证

是否可以通过graphql服务器结合中继和反应来验证具有不同角色的用户?

我环顾四周,找不到有关此主题的更多信息.

在我目前的设置中,具有不同角色的登录功能仍然通过传统的REST API ...(使用json web令牌'安全').

graphql relayjs

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

Web开发中间件自动重新加载

我正试图通过webpack-dev-middleware自动重新加载(没有热重载)一些JavaScript.

我的Express服务器的当前代码:

app.use(webpackDevMiddleware(compiler, {
    inline: true,
    noInfo: true,
    publicPath: config.output.publicPath,
    stats: {colors: true}
}));
Run Code Online (Sandbox Code Playgroud)

一切似乎运行良好,但当我改变一些东西时,我的浏览器不会自动重新加载(尽管webpack重建......).

我是否需要添加额外的条目以使用webpack-dev-middleware自动重新加载浏览器?

webpack

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

Webpack加载字体

我在React元素中有这个代码:

require('../../Style/fonts/SomethingStrange.ttf')
Run Code Online (Sandbox Code Playgroud)

在我的Webpack.config中:

{ test: /\.(ttf|otf|eot|svg|woff(2)?)(\?[a-z0-9]+)?$/, 
      loader: 'file-loader?name=fonts/[name].[ext]' }
Run Code Online (Sandbox Code Playgroud)

问题:我的网页上没有字体...

Webpack不让我自动要求字体吗?我是否需要编程其他任何东西来加载字体?

javascript reactjs webpack

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

节点回调承诺使用async/await

我正在尝试编写一个将节点式回调函数转换为promises的简单函数,因此我可以将它们与async/await一起使用.

当前代码:

function toPromise(ctx, func, ...args) {
  let newPromise;

  args.push((err, res) => {
    newPromise = new Promise((resolve, reject)=> {
       if(err) reject(err);
       else{
        resolve(res) 
      };
     });
    });

   func.apply(ctx, args);

   return newPromise;
}
Run Code Online (Sandbox Code Playgroud)

示例用法:

const match = await toPromise(user, user.comparePassword, password);
//trying to avoid the following:
user.comparePassword(password, (err, res) => {
     ... });
Run Code Online (Sandbox Code Playgroud)

对于一些很棒的库来说,这可能没有任何意义,但我只是想把它编写为一个练习.

问题当然是匹配评估为未定义,显然在await语法行之后,promise得到解决.

知道如何解决这个问题吗?

javascript node.js async-await es6-promise

7
推荐指数
2
解决办法
5451
查看次数

谷歌关闭编译器进程node_modules

我正在尝试谷歌闭包编译器作为webpack的替代品.目前我正在使用以下编译我的前端文件夹中的所有文件:

java -jar closure-compiler.jar --process_common_js_modules --js_output_file=static/out.js 'lib/js/src/frontend/*.js'"
Run Code Online (Sandbox Code Playgroud)

问题是其中一个文件需要React和ReactDOM.我收到以下错误:

lib/js/src/frontend/app.js:7: ERROR - Failed to load module "react"
var React    = require("react");
           ^^^^^^^^^^^^^^^^

lib/js/src/frontend/app.js:8: ERROR - Failed to load module "react-dom"
var ReactDom = require("react-dom");
           ^^^^^^^^^^^^^^^^^^^^
Run Code Online (Sandbox Code Playgroud)

如何确保Google Closure Compiler查看node_modules以查找相关的第三方模块?

google-closure-compiler

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

ocaml menhir 解析器的产量永远不会减少

我正在学习如何解析简单的程序。

这是我的词法分析器。

{
open Parser
  exception SyntaxError of string
}

let white = [' ' '\t']+

let blank = ' '


let identifier = ['a'-'z']


rule token = parse
  | white {token lexbuf} (* skip whitespace *)
  | '-' { HYPHEN }
  | identifier {
    let buf = Buffer.create 64 in
    Buffer.add_string buf (Lexing.lexeme lexbuf);
    scan_string buf lexbuf;
    let content = (Buffer.contents  buf) in
    STRING(content)
  }
  | _ { raise (SyntaxError "Unknown stuff here") }

and scan_string buf = parse …
Run Code Online (Sandbox Code Playgroud)

parsing ocaml menhir

4
推荐指数
1
解决办法
662
查看次数

Ocaml lwt 永无止境的循环

我正在尝试使用 Lwt 编写一个终端应用程序。基本上,只要我的应用程序正在运行,我就需要使用 Lwt_io.read_line 来观察终端的输入。

有没有比以下(伪代码)更好的方法来在我的程序运行时实现某种循环?

while true do
  let _ = ignore (Lwt_main.run my_application)
done
Run Code Online (Sandbox Code Playgroud)

我不确定这是否是正确的方法。每次 my_application 中的所有线程完成时,Lwt_main.run 就会一次又一次地被调用...

Lwt 是否有其他或更好的方法来处理这个问题?

ocaml ocaml-lwt

3
推荐指数
1
解决办法
630
查看次数

Ocaml 多态记录类型不太通用

给定以下类型:

 type ('props,'state) reactInstance =
  {
  props: 'props;
  state: 'state;
  updater:
    'event .
      (('props,'state) reactInstance -> 'event -> 'state) ->
        ('props,'state) reactInstance -> 'event -> unit;}
Run Code Online (Sandbox Code Playgroud)

我正在努力实现:

let rec updater f instance event =
  let nextState = f instance event in
  let newInstance =
    { props; state = nextState; updater } in
  ()

let newInstance =
  { props; state = (reactClass.getInitialState ()); updater }
Run Code Online (Sandbox Code Playgroud)

我给了更新程序一个类似 forall 的类型定义。我的主要动机是因为更新程序将被事件调用。事先不知道该事件会是什么。它可以是用户界面上的点击或按键等。

updater定义中出现的问题{ props; state = nextState; **updater** }

Error: This field …
Run Code Online (Sandbox Code Playgroud)

polymorphism ocaml

2
推荐指数
1
解决办法
654
查看次数