我按照下面的教程创建了一个https服务器 https://docs.nodejitsu.com/articles/HTTP/servers/how-to-create-a-HTTPS-server/
程序运行没有错误
但是当我无法在我的chrome中打开https:// localhost:8000时
它总是得到一个 ERR_SSL_PROTOCOL_ERROR
我在我的网站上使用blueimp-file-upload,我正在使用webpack来组织我的js代码.
我从NPM安装了blueimp-file-upload和jquery.ui.widget
npm install --save blueimp-file-upload
npm install --save jquery.ui.widget
Run Code Online (Sandbox Code Playgroud)
我在我的输入文件中要求blueimp-file-upload
require('blueimp-file-upload')
Run Code Online (Sandbox Code Playgroud)
但是当我运行webpack时,我得到了错误:
ERROR in ./~/blueimp-file-upload/js/jquery.fileupload.js
Module not found: Error: Cannot resolve module 'jquery.ui.widget' in E:\app-parent\cooka-common-web\src\main\resources\static\node_modules\blueimp-file-upload\js
@ ./~/blueimp-file-upload/js/jquery.fileupload.js 19:8-22:19
Run Code Online (Sandbox Code Playgroud) 根据文档 https://nodejs.org/api/fs.html#fs_fs_createreadstream_path_options
fs.createReadStream()可以接受Buffer作为第一个参数
我的节点代码:
var _ = require('lodash')
var faker = require('faker')
var http = require('http')
var fs = require('fs')
var xlsx = require('node-xlsx')
var gg = _.range(10).map((item) => {
return _.range(10).map((item) => {
return faker.name.findName()
})
})
http.createServer(function(req, res) {
var buf = xlsx.build([{
name: 'sheet1',
data: gg
}])
fs.createReadStream(buf, 'binary').pipe(res)
}).listen(9090)
Run Code Online (Sandbox Code Playgroud)
但我得到这个错误:
events.js:160
throw er; // Unhandled 'error' event
^
Error: Path must be a string without null bytes
at nullCheck (fs.js:135:14)
at Object.fs.open (fs.js:627:8)
at ReadStream.open (fs.js:1951:6) …Run Code Online (Sandbox Code Playgroud) 有人提出了与此类似的问题,但它仅解释了这些哈希值之间的差异。
但是,我仍然不知道我应该[hash]在[contenthash]什么时候选择而不是?有人可以告诉我一个示例情况吗?
=== 以前的身体 ===
webpack 文档解释了不同的哈希类型如下:
https://webpack.js.org/configuration/output/#outputfilename
哈希:
为每个构建生成的唯一哈希
内容哈希:
为提取的内容生成哈希
大块哈希:
基于每个块的内容的哈希:
我仍然对何时使用哪种类型的哈希感到困惑。
[hash] 为每个构建生成,但是在使用以下配置多次运行 webpack build 之后,我没有发现我的哈希值发生了变化。
module.exports = {
output: {
filename: '[name].[hash].js'
}
}
Run Code Online (Sandbox Code Playgroud)
Webpack 版本 4.41.2
我还发现里面的 webpack 配置react-scripts 对 js 和 css 文件使用 contenthash,但对图像等资产文件使用 hash,这也令人困惑,他们为什么这样做,是[hash]二进制文件的更好选择吗?
我使用webpack来要求Bootstrap,所以我从npm安装bootstrap,但我也想通过修改'variables.less' 来自定义Bootstrap,这会导致一个问题,下次我从npm 升级Bootstrap时,我的修改就不见了,所以我该怎么办?
我看到了一些像这样的示例代码:
import React from 'react'
import MyComp from 'my-comp'
const MySubComp = MyComp.MySubComp
class Page extends React.Component {
render() {
return (
<MyComp>
<MySubComp/>
</MyComp>
)
}
}
Run Code Online (Sandbox Code Playgroud)
如何实现语法MyComp.MySubComp?
它有术语吗?
我正在尝试构建一个 Konva Text 容器,其内容垂直居中;
var infoText = new Konva.Text({
x: 0,
y: 0,
text: `my long long ... text`,
fontSize: 18,
fontFamily: 'Arial',
width: 50,
height: 50,
align: 'center'
});
Run Code Online (Sandbox Code Playgroud)
我在文档中找到了align属性,但它只能使文本水平居中。如何垂直居中?
我想使用复选框进行一些自定义,如下所示:
所以我将自定义复选框包装到React组件中:
require('../../less/ck-checkbox.less');
var React = require('react');
var CkCheckbox = React.createClass({
propTypes: {
name: React.PropTypes.string,
text: React.PropTypes.string,
defaultChecked: React.PropTypes.bool,
onChange: React.PropTypes.func
},
getDefaultProps: function() {
return {
name: 'checkbox',
text: '',
defaultChecked: false,
onChange: function () {}
};
},
render: function() {
return (
<div className="ck-checkbox">
<label>
<input
type="checkbox"
name={this.props.name}
ref="c"
defaultChecked={this.props.defaultChecked}
onChange={this.props.onChange.bind(this, this.refs.c.checked)}
/>
<span className="icons">
<span className="icon-checked-o icon-true"></span>
<span className="icon-circle-o icon-false"></span>
</span>
{this.props.text.length > 0 ?
<span className="ck-checkbox-text">{this.props.text}</span> : null
}
</label>
</div>
);
}
});
module.exports = …Run Code Online (Sandbox Code Playgroud) 我正在阅读 Andrew Lombardi 的书“WebSocket”,它说
exe可以手动触发调用onclose事件吗?剪切 WebSocket 对象上的 close() 方法,
第 15 页
但是当我调用 close() 方法时,它没有触发 onclose 事件...
在 Chrome 上:
调用时close(),服务器停止发送帧,几秒钟后(6-7 seconds maybe),我的onclose处理程序被调用。
在 iOS 11 上:
当 call 时close(),服务器停止发送帧,但从未调用 onclose 处理程序。
那么,websocket 关闭事件的真相是什么?
我在 React 中的演示应用程序代码
import React, { Component } from 'react'
class App extends Component {
constructor(props) {
super(props)
this.state = {
log: [],
}
this.ws = null
}
render() {
return (
<div>
<button type="button" onClick={this._open}>
open
</button> …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用以下命令构建一个带有清晰按钮的输入组件react@17
import { useRef } from 'react';
const InputWithClear = props => {
const inputRef = useRef();
return (
<div>
<input
ref={inputRef}
{...props}
/>
<button
onClick={() => {
inputRef.current.value = '';
inputRef.current.dispatchEvent(
new Event('change', { bubbles: true })
);
}}
>
clear
</button>
</div>
);
};
Run Code Online (Sandbox Code Playgroud)
使用此组件,例如:
<InputWithClear value={value} onChange={(e) => {
console.log(e); // I want to get a synthetic event object here
}} />
Run Code Online (Sandbox Code Playgroud)
但清除按钮仅在我先输入任何内容时才起作用一次,然后再次停止工作。
如果我先输入一些内容然后单击清除按钮,则不起作用。
为什么不使用?
<InputWithClear value={value} onChange={(e) => {
console.log(e); // I want to get …Run Code Online (Sandbox Code Playgroud)