我的项目main
中有一个文件夹,我像模块一样解析.例如import x from 'main/src'
进口main/src/index.js
.这是通过webpack的解析别名配置完成的.
我遇到的一个问题是通过eslint摆脱错误.我知道eslint提供了一个webpack resolve插件,但是,我一直无法让它工作.我怀疑是因为我在webpack 2上并在我的webpack配置文件中使用es6.
是否有手动方式来编写解决方案来解决我的问题?
我见过的唯一其他hack工作正在使用import/core-modules
但是我必须列出子目录树中的每个文件夹main/src/bar
,main/src/foo
.这不太理想.
是否可以像在单元测试中那样在量角器测试中访问角度?
用例是我有一个转换文本的服务,我想访问该服务来转换实际测试脚本中的一些数据.我知道addMockModule
量角器中有方法,但我无法弄清楚如何将它用于此目的.
非常感谢任何帮助!
处理用于为AngularJS编写Protractor E2E测试的Page Objects模型的正确方法是什么?我觉得我应该把它们写在单独的文件中(比如homepage.js,page2.js等)然后以某种方式将它们包含在像模块这样的规范中.但是,我不知道如何注射它们.将不胜感激任何建议.谢谢!
我已经阅读了很多关于JWT以及如何通过JWT创建"无状态"会话的内容.我理解的要点是,由于签名和过期,您实际上可以发送整个会话以由客户端保存,并且服务器不必维护数据库来记住会话.
我不明白的是,如果您的用户需要注销,或者您需要在到期前使会话无效,会发生什么?
从技术上讲,您可以指示浏览器从客户端删除它,但您无法确定这实际发生了.令牌本身在技术上仍然有效,如果没有遵循删除说明,它仍然可以使用.
这种理解是否正确?如果是这样,这对客户端会话管理来说不是一个大错吗?除了让服务器存储会话或缩短过期时间之外,还有什么方法可以克服这个问题吗?
首先,下面的代码似乎有效.但是,我还没有看到有人这样做,所以我想知道这是否合法,如果我错过了不可预见的缺点.
上下文是我正在使用Protractor编写E2E测试,该测试使用Jasmine风格的describe/it块.我的目标是加载页面并运行一堆it
测试块,而不是每次都重新加载该页面(因为它很耗时).
我的构造是:
describe("Homepage", function () {
beforeEach(function () {
browser.get("/"); //loads the page
});
it('elements', function () {
describe('test group', function () {
it('test 1', function () {
//run stuff 1
});
it('test2', function () {
//run stuff 2
});
})
});
});
Run Code Online (Sandbox Code Playgroud)
我意识到另一种选择就是这样做:
describe("Homepage", function () {
beforeEach(function () {
browser.get("/"); //goes to homepage
});
it('elements', function () {
//run stuff 1
//run stuff 2
});
});
Run Code Online (Sandbox Code Playgroud)
但问题在于我无法将测试分开,最终会出现it
大块问题.我想以某种方式避免每次运行beforeEach的问题,但仍然能够有一个很好的分离设置测试块.
顺便说一句,我也试过这个:
describe("Homepage", function () {
browser.get("/"); …
Run Code Online (Sandbox Code Playgroud) 假设我有一个功能:
func test(closure: (closureArgs: Double ...) -> Double){
//some logic
}
Run Code Online (Sandbox Code Playgroud)
然后,我称之为:
test({$0 + $1 + $2 + $3})
Run Code Online (Sandbox Code Playgroud)
是否有可能获得closureArgs
提供的数量test
?目标是做超载.例如,test
可能包含一些代码,如:
func test(closure: (closureArgs: Double ...) -> Double){
//somehow get access to number of arguments in closureArgs within the closure that was passed.
}
Run Code Online (Sandbox Code Playgroud)
澄清 - 我的意思是我需要访问closureArgs的长度INSIDE test
但OUTSIDEclosure
我的离子和cordova应用程序中有一个奇怪的内存泄漏.泄漏不存在铬,但当我运行应用程序,它肯定存在.本质上,我需要循环遍历大量数据并将其设置为开$scope
.
现实生活中的数据是从服务器收集的,但在这里我只是用一个函数模拟它.此外,在真实的应用程序中,$scope.vote
按下按钮调用,而不是按钮按下,实现for循环.
这说明这是一个很好的模拟.数据较小,但我使循环运行更多,所以你可以实际看到泄漏.使用我从服务器收集的大型数据集时,泄漏更加重要.
我目前正在运行v1.0.0-beta.13(beta 14对我来说引起了很多其他问题...)该包包含角度1.2.25.
我把它归结为下面的测试用例:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="initial-scale=1, maximum-scale=1, user-scalable=no, width=device-width">
<title></title>
<!-- compiled css output -->
<link href="css/ionic.app.css" rel="stylesheet">
<!-- ionic/angularjs js -->
<script src="lib/ionic/js/ionic.bundle.js"></script>
<!-- cordova script (this will be a 404 during development) -->
<script src="cordova.js"></script>
<script>
angular.module('starter', ['ionic'])
.controller("testCtrl", function($scope){
$scope.b = [];
$scope.count = 0;
function getBallots() {
$scope.b.push({
_id: "54d7d680bdd622982e91a45f"
});
$scope.b.push({
_id: "54d7ef2ac659dd302a128924"
});
$scope.b.push({
_id: "54d7ef2ac659dd302a128929"
});
}
getBallots();
$scope.vote = …
Run Code Online (Sandbox Code Playgroud) 假设我有一个我想要重新导出的模块:
//exportme.js
export default 'EXPORTME';
export const test = () => console.log('test function');
//reexport.js
export * from './exportme.js'
Run Code Online (Sandbox Code Playgroud)
当我导入reexport.js时,exportme.js的默认值不可用.
//app.js
import reexport from './reexport.js'
console.log(reexport) //undefined
Run Code Online (Sandbox Code Playgroud)
我必须使reexport.js成为以下工作.
export * from './exportme.js'
export default from './exportme.js'
Run Code Online (Sandbox Code Playgroud)
有没有更简单的方法来实现这一点,还是可以将其合并为一个语句?
export default, * from './exportme.js'
不起作用.
我正在使用最新的babel transform-export-extensions
javascript ecmascript-6 babeljs es6-module-loader es6-modules
我正在尝试为Windows安装python-magic,我已经按照https://github.com/ahupp/python-magic中的所有说明进行了几次重复该过程,但我仍然收到此错误:
ImportError: failed to find libmagic. Check your installation
Run Code Online (Sandbox Code Playgroud)
我在C:\ Windows\System32中有magic1.dll(以及文档指定的其他两个文件)所以我不确定是什么问题.我将不胜感激任何帮助或解决方法.
我想制作一个主题,其中bg是深靛蓝,字体是白色.我无法将字体变成白色......如何使用角度材质主题来做到这一点?我知道这可以用CSS完成,但我认为这可以作为主题的一部分进行配置
这是我的配置:
var inversePurple = $mdThemingProvider.extendPalette('indigo', {
'contrastDefaultColor': 'light', // whether, by default, text (contrast)
// on this palette should be dark or light
'contrastDarkColors': "light",
'contrastLightColors': 'light' // could also specify this if default was 'dark'
});
$mdThemingProvider.definePalette('inversePurple', inversePurple)
$mdThemingProvider.theme('inverse')
.backgroundPalette('inversePurple', {
'default': '500',
})
.dark()
Run Code Online (Sandbox Code Playgroud)
我的HTML:
<md-content md-theme="inverse" layout-fill flex>
<p>This is not white</p>
</md-content>
Run Code Online (Sandbox Code Playgroud) 我正在使用角度UI路由器,我想知道是否有人知道在使用时是否未解决的承诺resolve
会泄漏.我们的用例是,在某些状态下,我们需要进行一些检查,然后在原始状态加载之前转换到不同的URL.
我们处理这个的方式是进行检查并使用$location
内部切换url resolve
并留下未解决的承诺.未解决的承诺用于防止原始状态的控制器和模板加载(否则它们会抛出错误).
所以我的问题是,这种留下未解决的承诺的做法会导致泄漏吗?我意识到另一种选择是$timeout
为解决承诺设定一个长期,但如果没有必要,我想避免它.
javascript memory-leaks angularjs angular-ui angular-ui-router
我有一个myFactory
具有私有函数foo
的工厂工厂返回一个具有两个属性的对象:foo
- 设置为私有函数,并foo_alias
设置为
function(){ foo() }
我试图通过以下方式使用Jasmine Spies监视私有函数foo
:spyOn(myFactory, 'foo')
并查看它是否被调用foo_alias
.我认为既然一切都指向原始的私有函数foo
,那么调用别名应该触发间谍 - 即expect(myFactory.foo).toHaveBeenCalled()
但这不起作用.
一个显示这个问题的傻瓜在这里:http://plnkr.co/edit/i032kHYToe5sGml0Mnqn?p = preview
我真的很感激这方面的一些帮助以及通过别名测试私有函数的任何建议.具体来说,我有一堆方便的方法,我想确保使用正确的参数调用内部函数.
angularjs ×7
javascript ×6
protractor ×3
testing ×3
jasmine ×2
memory-leaks ×2
angular-ui ×1
babeljs ×1
cordova ×1
ecmascript-6 ×1
es6-modules ×1
eslint ×1
ios ×1
jwt ×1
overloading ×1
python-2.7 ×1
python-magic ×1
resolve ×1
session ×1
swift ×1
unit-testing ×1
webpack ×1