小编pdo*_*926的帖子

如何实现Punch Autoprefixer预处理器?

我想为Punch静态站点生成器实现一个autoprefixer预处理器.

然而,在Punch的说法中,我不确定这是否有资格作为编译器,缩小器等.我已经尝试了以上所有但无济于事.

这是我最近尝试获得任何工作的尝试:

./autoprefixer.js

module.exports = {
    input_extensions: [".css"],
    force_compile: true,
    compile: function(input, filename, callback){
        return callback(null, "*{color: red;}");
    }
};
Run Code Online (Sandbox Code Playgroud)

config.json

...
    "plugins": {
        "compilers": {
            ".css": "punch-sass-compiler",
            ".css": "autoprefixer"
        }
    }
...
Run Code Online (Sandbox Code Playgroud)

result

/home/peter/projects/website/node_modules/punch/lib/asset_bundler.js:62
                        if (compiler && compiler.input_extensions.indexOf(template_extension) > -1)
                                                                 ^
TypeError: Cannot read property 'indexOf' of undefined
  at /home/peter/projects/website/node_modules/punch/lib/asset_bundler.js:62:45
  at /home/peter/projects/website/node_modules/punch/lib/template_handler.js:119:11
  at fs.js:334:14
  at /home/peter/projects/website/node_modules/punch/node_modules/fstream/node_modules/graceful-fs/graceful-fs.js:42:10
  at FSReqWrap.oncomplete (fs.js:95:15)
Run Code Online (Sandbox Code Playgroud)

任何人都可以引导我朝着正确的方向前进吗?

javascript static-site node.js

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

运行`npm install`时是否可以覆盖本地.npmrc?

我的项目的根目录中有一个.npmrc,其中包含臭名昭著的$ {NPM_TOKEN}骇客,并且CI,登台,生产等都需要。

为了解决这一现实,我希望开发人员能够在安装依赖项时告诉npm使用其他.npmrc,其中包含他们的 _authToken。有点像npm install . --npmrc=~/.npmrc。这将防止他们不得不污染系统的环境变量,.bash_profile等。

目前可以吗?(似乎不是……)如果没有,那么是否有任何原因导致这种方法不可能(极不可能)或NPM团队不会考虑?

javascript heroku node.js npm

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

Group_by - Ruby/Rails + Postgres

我对ROR和Postgre很新,我很难实现这个目标.

我有一个Working_hour模型和一个商家模型,其中商家has_many working_hours和working_hour属于Merchant.商家可以在同一天工作两小时或多小时.

我的看法:

 <% @merchant.working_hours.order(:day).group_by(&:day).each do |dia, whs| %>
   <%= t(:"date.abbr_day_names")[dia.to_i] %> : 
     <% whs.each do |wh| %>
       <li>
         <%= wh.oppening_hour.to_formatted_s(:time)  %> -
         <%= wh.close_hour.to_formatted_s(:time)  %>
       </li>
     <% end %>
  <% end %>
Run Code Online (Sandbox Code Playgroud)

当我在按日排序的视图中显示检索到的数据时(请注意,开放时间是无序的):

Mon: 
17:00-20:00
10:00-13:00
Tue:
18:00-21:00 
10:00-13:00
Run Code Online (Sandbox Code Playgroud)

我希望按星期几分组,先按星期几按顺序排序,然后按开放时间排序:

Mon: 
10:00-13:00
17:00-20:00
Tue:
10:00-13:00
18:00-21:00 
Run Code Online (Sandbox Code Playgroud)

但正如您所看到的,目前,我正在使用ruby层来实现性能问题.如何使用数据库层实现这一目标?

postgresql ruby-on-rails rails-postgresql

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

在Gatsby中禁用客户端路由

是否可以在Gatsby中禁用客户端路由?

我正在使用Gatsby生成一个只有一个页面的静态站点,并将通过AWS / S3提供服务​​。我遇到了由盖茨(Gatsby)从URL删除对象后缀引起的问题(https://s3.amazonaws.com/top-bucket/sub-bucket/index.html变成https://s3.amazonaws.com/页面和Gatsby运行时加载之后的top-bucket / sub-bucket /)。如果禁用JavaScript,则不会发生此问题,因此,我可以肯定这是由Gatsby使用React / Reach Router引起的。

有什么办法可以禁用此行为?我知道我可能可以在S3上设置重定向以处理对存储桶的请求,但如果可能的话,我希望在应用程序级别执行此操作。

amazon-s3 gatsby

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

Marionette的Application.execute和Application.trigger方法有什么区别?

根据文档,Marionette.Application提供了三种"动作"方法:

  1. Application.execute - 执行一些操作但首先注册它 MyApp.command('action', function () {});
  2. Application.request- 就像Application.execute但可以返回一些东西
  3. Application.trigger- 是一样的Application.execute.

Application.trigger和之间有什么区别Application.execute

backbone.js marionette

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

在 Crystal 程序中链接静态 C 库时遇到问题

我想尝试使用 Crystal 的 C 互操作工具,因此我用 C 编写了一个小型 POC 库。我能够将库链接到 C 程序并使用它。但是,当我尝试从我的 Crystal 程序(使用 构建crystal build src/c-interop.cr --verbose)链接到它时,我遇到了以下错误:

? crystal build src/c-interop.cr --verbose                                    
cc -o "/home/peter/projects/c-interop/c-interop" "${@}"  -rdynamic  --static -I/home/peter/projects/c-interop/c/include -L/home/peter/projects/c-interop/c/lib -lhello -lpcre -lgc -lpthread /opt/crystal/src/ext/libcrystal.a -levent -lrt -ldl -L/usr/lib -L/usr/local/lib _main.o S-lice40U-I-nt841.o P-ointer40U-I-nt841.o A-rgumentE-rror.o C-allS-tack.o A-rray40P-ointer40V-oid4141.o P-ointer40P-ointer40V-oid4141.o E-xception.o P-ointer40L-ibU-nwind5858E-xception41.o U-I-nt64.o U-I-nt8.o A-rray40S-tring41.o P-ointer40S-tring41.o I-nt32.o P-ointer40V-oid41.o F-iber.o T-hread.o S-et40T-hread41.o H-ash40T-hread4432N-il41.o P-ointer40H-ash58-5c8fd5776cf345ec94b91bf7a5f7e50f.o A-rray40I-nt3241.o S-tring5858B-uilder.o S-tring.o G-C-.o S-lice40T-41.o I-O-5858E-ncoder.o I-conv.o M-ath.o I-ndexE-rror.o E-rrno.o S-taticA-rray40U-I-nt84432102441.o C-har.o S-taticA-rray40U-I-nt84432441.o I-nvalidB-yteS-equenceE-rror.o S-taticA-rray40U-I-nt844326541.o D-ivisionB-yZ-ero.o P-ointer40I-nt3241.o U-I-nt32.o …
Run Code Online (Sandbox Code Playgroud)

c gcc crystal-lang

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

Clojure 测试中存根 HTTP 请求的策略

我想知道是否有一个广泛使用的模式或解决方案来在 Clojure 集成测试中对第三方出站 HTTP 请求进行存根(la Ruby 的webmock)。我希望能够在高层(例如,在设置函数中)存根请求,而不必将每个测试包装在类似的东西中(with-fake-http [] ...)或不得不诉诸依赖注入。

这对于动态变量来说是一个很好的用例吗?我想我可以在设置步骤中进入有问题的命名空间,并将副作用函数设置为无害的匿名函数。然而,这感觉很严厉,而且我不喜欢更改应用程序代码以适应我的测试的想法。(它也并不比上面提到的解决方案好多少。)

交换包含假函数的特定于测试的 ns 是否有意义?有没有一种干净的方法可以在我的测试中做到这一点?

clojure mocking stubbing

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

在CI环境中编写"heroku login"脚本

是否有制裁的方式来编写脚本或绕过Heroku Toolbelt的登录提示?我遇到了许多声称提供解决方案的黑客(期望,环境变量,插入环境变量在.netrc等),但我真的想找到一个稳定的解决方案.

continuous-integration heroku jenkins travis-ci

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

为什么不像两行YAML那样解析两行YAML?

解析使用两个空格缩进创建的YAML(使用Ruby 2.5 / Psych)时,我看到奇怪的行为。在我看来,同一文件,每行缩进四个空格,符合我的预期。

两个空格:

windows:
  - shell:
    panes:
      - echo hello
Run Code Online (Sandbox Code Playgroud)

导致以下哈希:

{"windows"=>[{"shell"=>nil, "panes"=>["echo hello"]}]}
Run Code Online (Sandbox Code Playgroud)

而使用四个空格缩进:

windows:
    - shell:
        panes:
            - echo hello
Run Code Online (Sandbox Code Playgroud)

结果是:

{"windows"=>[{"shell"=>{"panes"=>["echo hello"]}}]}
Run Code Online (Sandbox Code Playgroud)

我只是浏览了规范,没有发现与此问题相关的任何内容。

这是预期的行为吗?如果是这样,我将不胜感激链接到资源的原因。

yaml ruby-2.5

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

在 Haskell 中打印空列表

这是哈斯克尔代码。我在下面找到了为什么我错了。

\n\n
main = do\n    print [1] -- Okay\n    print [] -- error\n
Run Code Online (Sandbox Code Playgroud)\n\n

错误字符串如下。

\n\n
\n

P07.hs:38:11: 错误:\n ? 由于使用 \xe2\x80\x98print\xe2\x80\x99\n 而产生的不明确类型变量 \xe2\x80\x98t0\xe2\x80\x99 阻止了约束 \xe2\x80\x98(Show t0)\xe2\ x80\x99 无法解决。\n 可能的修复:使用类型注释来指定 \xe2\x80\x98t0\xe2\x80\x99 应该是什么。\n 这些潜在实例存在:\n 实例显示排序 -- 定义于\xe2\x80\x98GHC.Show\xe2\x80\x99\n 实例 显示整数 -- 定义于 \xe2\x80\x98GHC.Show\xe2\x80\x99\n 实例 显示 a => 显示(可能是 a) - - 在 \xe2\x80\x98GHC.Show\xe2\x80\x99\n 中定义 ...加上 22 个其他\n ...加上涉及超出范围类型的 5 个实例\n(使用 -fprint-pottial-instances查看全部)\n ? 在 'do' 块的 stmt 中: print []\n 在表达式中: do { print [] }\n 在 \xe2\x80\x98main\xe2\x80\x99 的方程中: main = do { …

haskell

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