小编wmo*_*ock的帖子

在Backbone.js应用程序中使用lodash而不是下划线

我正在编写Backbone应用程序,当我在线阅读文档时,我理解的是Backbone唯一的硬依赖是Underscore.但是,我想使用Lodash代替Underscore.有人可以提供我如何做到这一步的步骤吗?

javascript backbone.js underscore.js lodash

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

使用Bower与Webpack - React

作为前言,我知道我应该避免使用Bower,而是使用NPM来管理我的所有JavaScript依赖项.但是,我正在使用一些大量使用Bower的遗留代码,直到我可以将所有内容移到NPM上,我想用Bower和Webpack获得我的代码库的工作版本.

话虽这么说,我正在遵循官方指南中使用Bower与Webpack的配置设置:https://webpack.github.io/docs/usage-with-bower.html

特别是,我已经设置了一个Github仓库,我可以bower install jquery使用官方指南中的配置,我能够require("jquery")在我的源代码中使用它与Webpack一起工作.鉴于这适用于jQuery,我认为它适用于其他bower包,包括React.

然而,在运行之后bower install react,我试图require("react")在我的源代码中但Webpack提出错误说,Module not found: Error: Cannot resolve module 'react' in /Users/wmock/Desktop/using-bower-with-webpack/src.

这是我的Github回购: https ://github.com/fay-jai/Using-Bower-Through-Webpack

我有3个分支:

  1. "jquery-working"分支遵循官方指南中的配置,并使用通过Bower安装的jQuery.
  2. "jquery-react-not-working"分支与上面的配置相同,但是通过Bower安装了React.这不起作用.
  3. "master"分支具有通过Bower安装的jQuery和React的工作版本,但它不遵循官方Webpack文档中指定的配置设置.

题:

  1. 有没有办法让"jquery-react-not-working"分支起作用?换句话说,有没有办法遵循官方文档,像React一样使用像Webpack一样的bower包?
  2. 使用"master"分支中指定的方法有什么缺点吗?这应该是更好的方式使用Bower与Webpack?

编辑(2016年4月4日):

  1. 似乎DirectoryDe​​scriptionFilePlugin无法处理文件名数组,这就是为什么"jquery-react-not-working"分支不起作用的原因.
  2. 我很想听到第二个问题的更多答案,但我的直觉告诉我,使用"master"分支中指定的方法并不理想,因为:a)你必须手动别名每个库和b)你可能遇到如果多个库也使用相同的底层库,则会发生冲突.

javascript jquery bower reactjs webpack

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

了解Ruby继承

我一直在阅读Well Grounded Rubyist,它提到了类如何继承其超类的实例方法,以便类的对象能够调用这些实例方法.这是一个例子:

class C
  def run_instance_method
    puts "This is an instance method."
  end
  def C.run_class_method
    puts "This is a class method."
  end
end

class D < C
end
Run Code Online (Sandbox Code Playgroud)

根据我读过的内容,我们总是描述D类只继承C类的实例方法(在这种情况下,D ::不会继承C :: run_class_method).但是,运行上面的代码后,我注意到:

D.run_class_method # => "This is a class method."
Run Code Online (Sandbox Code Playgroud)

以下是我为什么会发生这种情况的猜测,如果这是正确的理解,请告诉我.如果存在类D的实例d并且您尝试运行d.run_instance_method,则该对象将搜索其方法查找路径,并查看该方法是在其单例类,其自己的类还是在其超类中定义的.由于run_instance_method是在C类中定义的,因此不会发生任何问题并将调用run_instance_method.对于类对象D(它是C和Object的子类),如果调用D.run_class_method,它将再次检查D类对象的方法查找路径.同样,Ruby会在类对象C中找到它.

这种推理准确吗?

ruby inheritance

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

理解JavaScript的单线程特性

我一直在阅读John Resig的"JavaScript忍者的秘密",它解释了JavaScript是单线程的.但是,我试过测试这个,我不知道该从这里带走什么:

// executing this in browser
(function () {
    // throw something into event queue
    setTimeout(function () {
        alert("This will be called back after 1 second.");
    }, 1000);

    // arbitrary loop to take up some time
    for (var i = 0; i < 10000; i += 1) {
        console.log(i);
    }
})();
Run Code Online (Sandbox Code Playgroud)

也许我并不完全理解单线程意味着什么,但我认为在所有外部匿名函数完成之前,setTimeout回调不会执行.但是,在浏览器中运行它会显示回调函数在我仍然输出到控制台时被调用.对我来说,这似乎有两个线程,匿名函数的invokation占用1个线程,然后回调使用第二个线程.

有人可以帮助我迷惑吗?

javascript events multithreading callback single-threaded

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

_在榆树中意味着什么?

我正在查看http://elm-lang.org/examples/zip上的zip示例,我对榆树的确切含义有疑问._

zip : List a -> List b -> List (a,b)
zip xs ys =
   case (xs, ys) of
    ( x :: xs', y :: ys' ) ->
        (x,y) :: zip xs' ys'

    (_, _) ->
        []
Run Code Online (Sandbox Code Playgroud)

我的预感是它意味着"其他一切",但这是否意味着任何有效价值?如果没有价值怎么办?

elm

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

如何在chrome调试器中检查ES6模块

在使用Webpack捆绑我的应用程序之前,我使用IIFE创建模块,然后将它们附加到window对象上,以便我可以访问它们.这使得Chrome浏览器中的调试非常简单,因为模块全局可用,我可以使用断点检查它们.

我最近转而使用Webpack捆绑我的应用程序,这非常棒.但是,现在当我设置断点并想要检查导入的模块时,我无法通过引用模块名称来执行此操作.我很确定这是因为在幕后,Webpack将模块重命名为其他东西.

这是特定文件中的import语句的示例(顺便说一句,每个导入的模块都导入一个对象):

进口报表

在同一个文件中,当我设置断点时,我希望能够像以前一样检查模块的内容.在下图中,我正在尝试访问CustomHelpers模块,该模块只是存储在对象中的辅助函数的集合.

带断点的chrome控制台

有关在Chrome控制台中调试时如何引用这些导入模块的任何想法?

为了澄清,我webpack.config.js正在工作,我启用了源映射,这就是为什么我看到原始文件而不是乱码的bundle.js文件.具体来说,我只是想检查我导入的模块并查看其内容.

javascript debugging google-chrome webpack es6-modules

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

Ruby和Python中的范围

我一直在学习Ruby和Python,我注意到的一件事就是这两种语言似乎对待范围不同.这是我的意思的一个例子:

# Python
a = 5
def myfunc():
  print a

myfunc() # => Successfully prints 5

# Ruby
a = 5
def myfunc
  puts a
end

myfunc # => Throws a "NameError: undefined local variable or method `a' for main:Object"
Run Code Online (Sandbox Code Playgroud)

似乎def块可以在Python中访问在其直接范围之外声明的变量,但不能在Ruby中访问.有人可以确认我的理解是否正确吗?如果是这样,这些思考范围的方式之一是否在编程中更常见?

ruby python scope

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

Ruby方法查找(与JavaScript进行比较)

我想更好地了解Ruby中的对象如何具有在类和模块中定义的访问方法。具体来说,我想将其与JavaScript(我比较熟悉)进行比较和对比。

在JavaScript中,对象会在对象本身上查找方法,如果找不到,则会在原型对象上查找方法。此过程将一直持续到Object.prototype

// JavaScript Example
var parent = {
  someMethod: function () {
    console.log( 'Inside Parent' );
  }
};

var child = Object.create( parent );
child.someMethod = function () {
  console.log( 'Inside Child' );
};

var obj1 = Object.create( child );
var obj2 = Object.create( child );

obj1.someMethod(); // 'Inside Child'
obj2.someMethod(); // 'Inside Child'
Run Code Online (Sandbox Code Playgroud)

在JavaScript示例中,obj1obj2都不具有someMethod对象本身的功能。需要注意的关键是:

  1. someMethodchild对象中有一个函数的副本,并且两者都有obj1obj2委托给该child对象。
  2. 这意味着在对象本身上既obj没有功能也obj2没有副本 …

javascript ruby inheritance prototypal-inheritance

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

使用 CSS 模块和第 3 方包

这是我的文件的相关部分webpack.config.js

module: {
    loaders: [
        {
            test: /\.css$/,
            exclude: /node_modules/,
            loaders: [
                "style-loader?sourceMap",
                "css-loader?modules&importLoaders=1&localIdentName=[path]___[name]__[local]___[hash:base64:5]"
            ]
        },
        {
            test: /\.jsx?$/,
            exclude: /node_modules/,
            loader: "babel-loader"
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

当我编写自己的 css 并将其与我的React组件一起使用时,这非常有用。但是,我最近尝试使用React Datepicker,它带有自己的 css 文件,可以导入到使用 React Datepicker 的组件中。

如何修改我的webpack.config.js文件,以便我导入的 React Datepicker css 文件不会被具有本地类名的 CSS 模块转换?换句话说,是否可以配置 webpack,以便将第 3 方样式导入到全局范围,并将我自己的样式导入到本地范围?

另外,如果我想编写自己的自定义样式来覆盖 React Datepicker 样式,我该如何做才能使这些样式也在全局范围内?

javascript css reactjs webpack css-modules

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

Phoenix中渲染函数的区别

我试图了解renderPhoenix 中不同功能之间的区别。具体来说,我注意到renderPhoenix 视图和 Phoenix 模板中有几个不同的功能。

例如,在 Phoenix 控制器中,通常会看到以下内容:

# assume this is UserController
def index(conn, _params) do
    users = Repo.all(Users) # let's assume that this gives you all your users
    render conn, "index.html", users: users
end
Run Code Online (Sandbox Code Playgroud)

index.html与此视图关联的模板(即 UserView)中,您可以看到如下内容:

# index.html
<ul>
    <%= for user <- @users do %>
        <li><%= render "user.html", user: user %></li>
    <% end %>
</ul>

# user.html
<p><%= @user.name %></p>
Run Code Online (Sandbox Code Playgroud)

我的理解是,render该功能内index.html模板编译成render的函数内UserView。此外,在深入研究之后iex,似乎index …

elixir phoenix-framework

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