小编del*_*elp的帖子

ES6:解构时更改值

假设我有一个对象

const obj = { width: 100, height: 200 }
Run Code Online (Sandbox Code Playgroud)

我希望将该对象传递给方法

myFunc( obj );
Run Code Online (Sandbox Code Playgroud)

在该方法中,我希望提取高度,但同时减去一个值。我只希望这样做一次,之后就永远不会改变。

执行以下操作可以获得我想要的正确高度,例如 150。

let {height: localHeight} = obj;
localHeight = localHeight - 50;
Run Code Online (Sandbox Code Playgroud)

我如何在一行中完成上述操作?像这样的东西 - 但我知道这是行不通的。

const { height: (localHeight = localHeight - 50) } = obj
Run Code Online (Sandbox Code Playgroud)

destructuring ecmascript-6

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

使用Webpack,Jasmine(-core),打字稿进行单元测试

我有一个项目,使用webpack将所有代码捆绑到一个文件中.该项目正在使用Typescript,目前工作正常.

我已经去添加单元测试,茉莉花似乎是前进的方式之一(多种方式之一).它实际上是包含在package.json中的jasmine-core - 不确定它有多大区别.

所以运行一个非常简单的测试,如

it('true is true', function(){ expect(true).toEqual(true); });
Run Code Online (Sandbox Code Playgroud)

工作良好.但是当我添加需要使用导入的测试时 - 例如

import MyService = require('./MyServices');
Run Code Online (Sandbox Code Playgroud)

然后,当我运行测试时,它抱怨,因为它不知道"需要"是什么. Uncaught ReferenceError: require is not defined

现在我猜这是因为我需要以与打包主项目类似的方式打包测试模块.

那么最好的方法是什么?我应该在webpack.config.js文件中有多个入口点 - 每个*.spec.ts文件一个?或者有没有办法说接受未知数量的spec文件

entry:[*.spec.ts]并为每个输出一个js文件 - *.spec.js

unit-testing jasmine typescript webpack

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