小编Dan*_*rzo的帖子

Webpack 4:css-loader + file-loader,用于在构建过程中添加字体及其样式表

鉴于此设置:

字体/ Styles.css中

@font-face {
  family: 'MyFont';
  src: url('fonts/myfont.otf');
}
Run Code Online (Sandbox Code Playgroud)

我怎么能够:

  1. 在我的JS包中,获取对CSS文件的URL的引用,例如字符串 [name].[hash].css
  2. 生成的CSS文件应该是一个普通的CSS文件,但url()s指向生成的webfont文件?

就像是:

@font-face {
  family: 'MyFont';
  src: url('myfont.dds9394u329d9sa9r8439.otf');
}
Run Code Online (Sandbox Code Playgroud)

我正在尝试:

webpack.config.js

{
  test: /\.(woff|woff2|eot|ttf|otf|svg)$/,
  loader: 'file-loader',
  include: [/fonts/]
},

{
  test: /\.css$/,
  use: ['file-loader', 'css-loader'],
  include: [/fonts/]
}
Run Code Online (Sandbox Code Playgroud)

JS文件

const myfont = {
  family: 'MyFont',
  stylesheet: require('fonts/styles.css')
}
Run Code Online (Sandbox Code Playgroud)

根据上一个问题,使用file-loaderrequire()很好地获取CSS的URL,但生成的文件不是纯CSS.

如何组合file-loadercss-loader(+可能是其他加载器)来获取此CSS文件?

谢谢!

PS我想避免copy-webpack-plugin这个,因为我希望CSS /字体文件在代码中进行哈希处理和寻址.

webpack css-loader webpack-file-loader

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

SVG九切片缩放

如何在SVG中获得九切片缩放?具体来说,我正在寻找一种方法来定义SVG对象,这些对象在调整大小时表现得像九个切片的对象(一些元素保持其维度,另一些元素与容器一起缩放).

svg

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

Node.js:如何在Write Stream'finish'事件上写()

我正在使用Node.js流逐行浏览文本文件,进行一些转换并输出到SVG文件.

我正在尝试</svg>在处理完成后编写最后一段数据(),但是当写入流发出finish事件时,尝试write()将抛出Error: write after end.

有一种优雅的方式可以解决这个问题吗?

注意:输入文件很大(大约1GB),因此pipe()由于其I/O和内存管理而无法绕过该方法.

var fs = require('fs');
var split2 = require('split2');
var through2 = require('through2');

var read_stream = fs.createReadStream('input.txt');
var write_stream = fs.createWriteStream('output.svg');

write_stream.write('<svg>');
write_stream.on('finish', function() {
  this.write('</svg>'); // doesn't work
});

read_stream
  .pipe(split2())
  .pipe(through2.obj(function(line, encoding, next) {
     this.push(line);
     next();
  }))
  .pipe(write_stream);
Run Code Online (Sandbox Code Playgroud)

解决方案

感谢JordanpNre帮助我解决这个问题.

解决方案1(通用)

pipe()带有end:false选项的写入流和手动end()流.

var fs = require('fs');
var split2 = require('split2');
var through2 …
Run Code Online (Sandbox Code Playgroud)

javascript stream node.js

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

在Struts <s:select>标签中预选值?

我有这个Struts标签:

<s:select name="country.id" 
          list="countries"  
          listValue="name" 
          listKey="id"
          headerValue="Select Country"
          headerKey=""
          label="Country" />
Run Code Online (Sandbox Code Playgroud)

它输出以下HTML代码:

<select name="country.id" tabindex="12" id="registration_country">
    <option value="">Select Country</option>
    <option value="1">United States</option>
    <option value="2">Afghanistan</option>
    <option value="3">Albania</option>
    <option value="4">Algeria</option>
    ...
    <option value="192">Zambia</option>
    <option value="193">Zimbabwe</option>
</select>
Run Code Online (Sandbox Code Playgroud)

如何指定我想要的,例如,在列表中预先选择"阿尔巴尼亚"?

java forms struts struts2 struts-tags

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

Java:图像切换按钮

如何在Swing界面中创建切换图像按钮?我有两个图像,imageon.jpg和imageoff.jpg,我基本上想要一个可点击的元素来切换图像并触发一个事件.

更新:有没有办法覆盖图像周围通常的'铬'?我更喜欢简单的图像到里面有图像的按钮.

java swing

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

Firefox:记住登录信息的基础是什么?

更新了澄清

你好,

当我们的用户去http://mysubdomain.server.com/login他们被重定向到https://secure.server.com/login?subdomain=mysubdomain.因此实际的登录页面位于secure.server.com子域中.

问题是如果用户使用凭据登录subdomainA并告诉Firefox记住密码,即使用户访问登录页面意味着登录,浏览器也会自动填写登录表单subdomainB.

Firefox假定登录表单与on secure.server.com/login?subdomain=subdomainA上的表单相同secure.server.com/login?subdomain=subdomainB.

起初,我认为Firefox会根据URL和name表单属性的组合来记住密码,但我尝试更改name基于子域(name="login-<subdomain_name>"),但它仍然不起作用.

我怎样才能让Firefox记住密码subdomainAsubdomainB独立,而不是在一起呢?

passwords firefox

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

D3 + Leaflet:d3.geo.path()重新采样

我们改编了Mike Bostock最初的D3 + Leaflet示例:http: //bost.ocks.org/mike/leaflet/, 这样它就不会重新绘制Leaflet中每个缩放的所有路径.

我们的代码在这里:https://github.com/madeincluj/Leaflet.D3/blob/master/js/leaflet.d3.js

具体来说,从地理坐标到像素的投影在这里发生:https: //github.com/madeincluj/Leaflet.D3/blob/master/js/leaflet.d3.js#L30-L35

我们在第一次加载时绘制SVG路径,然后简单地缩放/转换SVG以匹配地图.

这很有效,除了一个问题:D3的路径重新采样,在第一个缩放级别看起来很棒,但是一旦开始放大,看起来会逐渐变得更加破碎.

有没有办法禁用重新采样?

至于为什么我们这样做:我们想要绘制很多形状(数千个)并在每个缩放上重绘它们都是不切实际的.

编辑 经过一些挖掘,似乎重新取样发生在这里:

function d3_geo_pathProjectStream(project) {
   var resample = d3_geo_resample(function(x, y) {
     return project([ x * d3_degrees, y * d3_degrees ]);
   });
  return function(stream) {
    return d3_geo_projectionRadians(resample(stream));
  };
}
Run Code Online (Sandbox Code Playgroud)

有没有办法跳过重采样步骤?

编辑2

真是个红鲱鱼!我们在发送原始函数d3.geo.path().projectiond3.geo.transform对象之间来回切换,但无济于事.

但实际上问题在于传单latLngToLayerPoint,它(显然!)将point.x和point.y舍入为整数.这意味着初始化SVG渲染时缩小的越多,丢失的精度就越高.

解决方案是使用这样的自定义函数:

function latLngToPoint(latlng) {
  return map.project(latlng)._subtract(map.getPixelOrigin());
};

var t = d3.geo.transform({
    point: function(x, y) {
      var point = latLngToPoint(new L.LatLng(y, x)); …
Run Code Online (Sandbox Code Playgroud)

javascript svg d3.js leaflet

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

“[b for a in x for b in a if not b==k]”是什么意思?

完全被难住了:

indices = numpy.array([b for a in x for b in a if not b==k])
Run Code Online (Sandbox Code Playgroud)

[b for a in x for b in a if not b==k]x作为整数的二维数组和k作为整数的上下文中,关于我应该如何阅读的任何指针?或者加括号来帮助我理解事物的优先级?

python numpy list-comprehension

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

Java:你如何设置Swing组件的样式?

我正在编写我的第一个Java项目.

我想知道是否可以设置Swing组件的样式(设置背景颜色,从按钮中删除边框等)

java user-interface swing

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

方法在自定义对象中是否具有破坏性?

我必须将Java.Polynomial实现为学校作业.部分方法是加(多项式),乘法(多项式)等.

在类似的情况下

p.add(q); // computes p + q
Run Code Online (Sandbox Code Playgroud)

是否更好地返回void并将多项式的总和保持在p?还是更好地返回多项式并保持p的前值保持不变?

我的直觉告诉我,我应该做以下事情

  • 实现p.add(q)作为'破坏性'方法...它将q加到p的值并将总和存储在p中
  • 还实现了一个静态方法Polynomial.add(p,q),它返回多项式的和.

你怎么看?

java oop polynomial-math

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

ANTLR 3中wikitext-to-HTML的工作示例

我正试图在ANTLR 3中充实wiki文本到HTML的翻译,但我一直陷入困境.

你知道一个我可以检查的工作实例吗?我尝试了MediaWiki ANTLR语法和Wiki Creole语法,但是我无法让它们在ANTLR 3中生成词法分析器和解析器.

以下是我尝试使用的两个语法的链接:

我无法获得这两个中的任何一个来生成我的Java Lexer和Parser.(我使用ANTLR3作为Eclipse插件).MediaWiki需要花费很长时间来构建,然后在某些时候抛出OutOfMemory异常.另一个有错误,我不知道如何调试.

编辑:好的,我有一个非常基本的语法:

grammar wikitext;

options {
  //output = AST;
  //ASTLabelType = CommonTree;
  output = template;
  language = Java;
}

document: line (NL line?)*;

line: horizontal_line | list | heading | paragraph;

/* horizontal line */
horizontal_line: HRLINE;

/* lists */
list: unordered_list | ordered_list;

unordered_list: '*'+ content;
ordered_list: '#'+ content;

/* Headings */
heading: heading1 | heading2 | heading3 | heading4 | heading5 | heading6;
heading1: H1 …
Run Code Online (Sandbox Code Playgroud)

mediawiki antlr stringtemplate wikitext creole

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

jQuery:从jquery 1.2.6更改为1.3.2时,验证插件中断

我最近从jQuery 1.2.6升级到1.3.2

现在在页面上,我正在使用表单验证插件,我得到了异常:

[Exception... "'Syntax error, unrecognized expression: [@for='registration_primary_email']' when calling method: [nsIDOMEventListener::handleEvent]"  nsresult: "0x8057001e (NS_ERROR_XPC_JS_THREW_STRING)"  location: "<unknown>"  data: no]
Run Code Online (Sandbox Code Playgroud)

1.2.6不会发生这种情况.知道发生了什么事吗?

javascript jquery jquery-validate

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

使用JSON返回Java Map

使用JSON格式返回Java Map的最佳方法是什么?我的具体需求是日期和数字之间的关键 - >值关联.

我关心的是:我的结构基本上包含相同类型的N个元素(日期和数字之间的映射),我希望能够在Javascript中快速迭代它们.

在XML中,我会:

<relation date='mydate' number='mynumber'/>
<relation date='mydate' number='mynumber'/>
...
<relation date='mydate' number='mynumber'/>
Run Code Online (Sandbox Code Playgroud)

我会像这样使用jQuery:

$(xml).find("relation").each(function() {
    $(this).attr("date"); // the date
    $(this).attr("number"); // the number
})
Run Code Online (Sandbox Code Playgroud)

这是我第一次使用JSON,我想知道我是否可以做类似的事情.

java json map

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