我正在开发一个在React/Redux/Webpack中工作的Web应用程序,现在我开始将测试与Mocha集成.
我按照Redux文档中的编写测试说明进行操作,但现在我遇到了webpack别名的问题.
例如,请查看我的一个动作创建者的此测试的导入部分:
import expect from 'expect' // resolves without an issue
import * as actions from 'actions/app'; // can't resolve this alias
import * as types from 'constants/actionTypes'; // can't resolve this alias
describe('Actions', () => {
describe('app',() => {
it('should create an action with a successful connection', () => {
const host = '***************',
port = ****,
db = '******',
user = '*********',
pass = '******';
const action = actions.createConnection(host, port, db, user, pass);
const expectedAction …Run Code Online (Sandbox Code Playgroud) 我正在构建一个需要渲染一些子组件的组件.更具体地说,我有一个Map组件,我想在其上显示一个Legend组件.
const Map = props => (
<div id="map">
{ this.props.children }
</div>
);
// Usage:
const MapWithLegend = () => (
<div id="map-view">
<Map><Legend /></Map>
</div>
);
// Usage:
const MapWithoutLegend = () => (
<div id="map-view">
<Map />
</div>
);
Run Code Online (Sandbox Code Playgroud)
但是,这也可以使用命名道具表达:
const Map = ({ legend } => (
<div id="map">{ legend }</div>
);
// Usage:
const MapWithLegend = () => (
<div id="map-view">
<Map legend={Legend} />
</div>
);
// Usage:
const MapWithoutLegend = () => (
<div …Run Code Online (Sandbox Code Playgroud) 我正在尝试编写一个 Typescript 接口,然后编写一个实现该接口的类。
\n\n问题是我似乎无法从接口获取方法签名以应用于该类。
\n\n这是一个简化的示例:
\n\nexport interface Foo {\n bar(value: string): void;\n}\n\n\nexport class MyFoo implements Foo {\n // \xe2\x9c\x94\xef\xb8\x8f Typescript error:\n // Property \'bar\' is missing in type \'MyFoo\' but required in type \'Foo\'\n}\n\n\nexport class MyFoo implements Foo {\n // value is inferred as `any` instead of `string`, \n // and there aren\'t any errors with the return type mismatch\n bar(value) { return true; }\n}\n\nRun Code Online (Sandbox Code Playgroud)\n\n编译器似乎知道该bar方法应该存在,但由于某种原因不保留它的签名。
我正在尝试将SwipeListView放到Activity上,但我似乎无法弄清楚如何导入它.我从这里得到了这个库:https://github.com/47deg/android-swipelistview
然后我按照这里的问题部分中的说明进行操作:https://github.com/47deg/android-swipelistview/issues/17
不幸的是,在我遵循指示之后仍然存在错误.
相反,我想尝试使用apkLIB方法导入库.我不知道这是否独立于Maven,但我也是这样尝试过,但没有成功.
当我尝试将其安装为Maven依赖时,我按照这里的指示:http://rgladwell.github.io/m2e-android/
但是,在这样做之后,我没有看到截图在我的项目层次结构中建议了"MAVEN DEPENDENCIES"文件夹.我对Maven更加困惑,而不是试图自己安装库.
我真的不知道此时还能做些什么.任何帮助表示赞赏!!
我计划使用Image-Net构建语言任务的同义词列表.根据Image-Net API文档,
ImageNet基于WordNet 3.0.为了唯一地标识一个synset,我们使用"WordNet ID"(wnid),它是POS(即词性)和WordNet的SYNSET OFFSET的串联.
这一切看起来都很好,但是没有关于如何在WordNet中为synset获取SYNSET OFFSET的文档.这个RiTaWN教程解释了如何获取Sense ID,但这些值并不相同.
如何获取SYNSET OFFSET以便我可以开始使用Image-Net API来构建可显示的名词和同义词列表?
我正在编写一个持续集成步骤,该步骤将在合并请求之前检查请求请求的标题是否有正确的标签和格式。
为此,我需要在给定PR号时回显请求请求的标题。有没有办法在命令行中简单地做到这一点?
我想创建一个具有以下形状的Redux商店:
store = {
loaded: Boolean,
loading: Boolean,
view: Object, // uses combineReducers
layers: Object // uses combineReducers
}
Run Code Online (Sandbox Code Playgroud)
到目前为止,我的root reducer看起来像这样:
rootReducer.js
import view from './view';
import layers from './layers';
const initialState = {
loaded: false,
loading: false,
};
function loadState(state = initialState, action = {}) {
switch (action.type) {
case 'LOADED':
return {
...state,
loaded: true,
loading: false,
};
case 'LOADING':
return {
...state,
loaded: false,
loading: true,
};
default:
return state;
}
}
export default combineReducers({
view,
layers, …Run Code Online (Sandbox Code Playgroud) 我有一个看起来像这样的数组:
const arr = [
[500, 'Foo'],
[600, 'bar'],
[700, 'Baz'],
];
Run Code Online (Sandbox Code Playgroud)
我想arr按每个内部数组中的第二个元素按字母顺序排序,即:
[
[600, 'bar'],
[700, 'Baz'],
[500, 'Foo'],
]
Run Code Online (Sandbox Code Playgroud)
注意不区分大小写.此外,如果他们派上用场,我很乐意使用lodash助手!
背景
我正在研究一个bash脚本,以自动化构建位于同一目录中的六个项目的过程.每个项目都有两个要运行的脚本来构建它:
npm install
npm run build
Run Code Online (Sandbox Code Playgroud)
第一行将从npm获取所有依赖项.由于此步骤耗时最长,并且由于项目可以同时获取其依赖项,因此我使用后台作业来并行获取所有内容.(即:npm install &)
第二行将使用这些依赖项来构建项目.因为这必须在所有步骤1完成之后发生,所以我wait在中间运行命令.请参阅下面的代码段.
问题
我想在任何后台作业或npm run build之后发生的步骤中发生错误时立即退出脚本.
我正在使用set -e,但这不适用于后台作业,因此如果一个项目无法安装它的依赖项,其他一切都会继续.
这是我的脚本现在看起来如何的简化示例.
build.sh
set -e
DIR=$PWD
for dir in ./projects/**/
do
echo -e "\033[4;32mInstalling $dir\033[0m"
cd $dir
npm install & # takes a while, so do this in parallel
cd $DIR
done
wait # continue once the background jobs are completed
for dir in ./projects/**/
do
cd $dir
echo -e "\033[4;32mBuilding $dir\033[0m"
npm run build # …Run Code Online (Sandbox Code Playgroud) 我要求用户通过Scannerin Java进行输入,现在我想使用正则表达式解析他们的选择。本质上,我向他们展示了一个项目的枚举列表,他们输入了他们想要选择的项目的编号,用空格分隔。下面是一个例子:
1 yorkshire terrier
2 staffordshire terrier
3 goldfish
4 basset hound
5 hippopotamus
Type the numbers that correspond to the words you wish to exclude: 3 5
Run Code Online (Sandbox Code Playgroud)
枚举的项目列表可以是几个元素或几百个。我正在使用的当前正则表达式看起来像这样^|\\.\\s+)\\d+\\s+,但我知道这是错误的。我还没有完全理解正则表达式,所以如果你能解释它在做什么,那也会很有帮助!
我正在努力理解我当前的gulpfile中缺少什么才能让JSDoc满意.
下面的代码不会导致任何错误,但是查看生成的文档的索引页面,很明显我的文档没有被格式化.
我在这里错过了什么?
首先,这是我想要记录的功能.
/**
* Returns the sum of a and b
* @param {Number} a
* @param {Number} b
* @return {Number} Sum of a and b
*/
var sum = function(a, b){
return a + b;
};
Run Code Online (Sandbox Code Playgroud)
接下来,这是我的gulpfile.js
var gulp = require('gulp');
var jsdoc = require('gulp-jsdoc');
gulp.task('js-doc', function(){
return gulp.src([ 'app.js' ])
.pipe(jsdoc.parser({}, 'test'))
.pipe(jsdoc.generator('./docs'));
});
Run Code Online (Sandbox Code Playgroud)
运行后gulp js-doc,它会创建docs /目录并构建文档.但是,访问浏览器中的index.html页面会发现实际上没有生成任何文档.当我看到app.js.htmlJSDoc生成的另一个文件时,我看到了我的代码块,但它上面没有任何内容被解析并变成实际的文档.见下面的截图.

我想我缺少对JSDoc或Gulp的一些基本理解.
我的打字稿项目中有一个配置文件config.json,我想为其添加强类型。
src/config.json
{
"id": "some-id-string",
"data": {
"somekey" : "some value"
}
}
Run Code Online (Sandbox Code Playgroud)
为了添加输入,我index.d.ts还在项目中添加了一个文件:
src/index.d.ts
{
"id": "some-id-string",
"data": {
"somekey" : "some value"
}
}
Run Code Online (Sandbox Code Playgroud)
然而它似乎不起作用,因为我可以向我的 config.json 添加任意字段,并且 typescript 很乐意让它们通过,即:
src/config.json
{
"id": "some-id-string",
"foo": "bar", // <-- typescript doesn't catch this
"data": {
"somekey" : "some value"
}
}
Run Code Online (Sandbox Code Playgroud)
我使用create-react-apptypescript 标志创建了这个项目,它生成以下内容tsconfig.json:
tsconfig.json
{
"compilerOptions": {
"target": "es5",
"lib": ["dom", "dom.iterable", "esnext"],
"allowJs": true,
"skipLibCheck": true,
"esModuleInterop": true,
"allowSyntheticDefaultImports": true,
"strict": …Run Code Online (Sandbox Code Playgroud) 我想创建一个史诗,在工作之前监听一系列明确的动作.
这首史诗在第一次完成后也不需要存在.
我想象的是:
function doTheThing(action$) {
return action$
// The start of the sequence
.ofType(FIRST_ACTION)
// Do nothing until the second action occurs
.waitForAnotherAction(SECOND_ACTION)
// the correct actions have been dispatched, do the thing!
.map(() => ({ type: DO_THE_THING_ACTION }))
.destroyEpic();
}
Run Code Online (Sandbox Code Playgroud)
这样的事情可能redux-observable吗?