如何在Azure功能应用程序中的文件之间共享代码(例如,Mongo架构定义)?
我需要这样做,因为我的函数需要访问共享的mongo架构和模型,例如这个基本示例:
var blogPostSchema = new mongoose.Schema({
id: 'number',
title: 'string',
date: 'date',
content: 'string'
});
var BlogPost = mongoose.model('BlogPost', blogPostSchema);
Run Code Online (Sandbox Code Playgroud)
我试图在"watchDirectories": [ "Shared" ]我的host.json文件夹中添加一行,添加了一个index.js包含上述变量定义的行,但这似乎不适用于其他函数.
我只是得到一个Exception while executing function: Functions.GetBlogPosts. mscorlib: ReferenceError: BlogPost is not defined.
我也尝试过挖掘require.js文件,但似乎没有找到.可能是我错了路径.
有没有人有关于如何.js在天蓝色功能之间共享代码的示例或提示?
我在决定重构包含非常相似但不完全相同的LINQ查询的方法的最佳方法时遇到了一些麻烦.
考虑一下这些方法:
public SomeObject GetTheObject(IMyObject genericObject) {
Type t = genericObject.GetType();
SomeObject so = null;
switch(t.Name) {
case "Type1":
var object1 = (from o in object1s where o.object1id == genericObject.id).FirstOrDefault();
so = (SomeObject)object1;
break;
case "Type2":
var object2 = (from o in object2s where o.object2id == genericObject.id).FirstOrDefault();
so = (SomeObject)object2;
break;
default:
break;
}
return so;
}
Run Code Online (Sandbox Code Playgroud)
这只是一个例子,但想象一下我需要执行不同的查询(不同之处在于它使用不同的ObjectSet,使用稍微不同的字段(object1id vs object2id)并返回不同的类型.除此之外,查询是相同.
是否有一种合理的方法来重构这种方法?感觉就像我错过了一些明显的东西.也许我必须使用确切的方法,我无法避免重写查询,它似乎我应该能够以某种方式!
任何指针都非常感激
感觉我在这里错过了一些愚蠢的东西,但是在listview上听点击事件的推荐方法是什么?
目前我有:
WinJS.Utilities.query(".menuHolder").listen("click", linkClickHandler, false);
Run Code Online (Sandbox Code Playgroud)
我的listview模板使用类'menuHolder'作为它的项目:
<div id="menuTemplate"
data-win-control="WinJS.Binding.Template">
<div class="menuHolder">
<!-- menu img -->
<img src="#" data-win-bind="src : pic; alt : title" />
<div class="menuText">
<!-- menu text -->
<h1 data-win-bind="innerText : title"></h1>
<!-- menu desc -->
<h4 data-win-bind="innerText : description"></h4>
</div>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
我似乎没有在我的链接处理程序中点击我的断点,或者调用它的函数.有什么想法吗?
编辑:
作为一个跟随问题(记住项目调用事件)是否有人知道在listview和iteminvoked事件之间传递数据的推荐方法,如果我说想要使用WinJS.Navigator类来移动应用程序?我猜我需要将一部分内容eventInfo转换为合适的对象并检索信息,哪一部分?
在模型中是否有一种合理的方式来连接两个字段,如下所示:
Ext.define('model.Person', {
extend: 'Ext.data.Model',
idProperty: 'Id',
fields: [
{ name: 'Id', type: 'int' },
{ name: 'FirstName', type: 'string' },
{ name: 'LastName', type: 'string' },
{ name: 'FullName', type: 'string', mapping: 'FirstName + " " + LastName' }
]
});
Run Code Online (Sandbox Code Playgroud)
我已经尝试了很多方法,但似乎无法让任何工作.
我打算在模型中使用一个函数来将两个字段粘在一起,但是我还需要将它用作'itemselector'(自定义控件)中的显示字段并动态切换它并且该控件似乎不喜欢' FullName()'作为显示字段.
任何想法都非常感激.
我想在线连接到TFS或TFS/VSO时手动设置Visual Studio的超时.
有谁知道这是否可能?
原因是我的工作PC定期断开与VSO的连接(每次我将其锁定并且Direct Access切断我的连接),然后当我尝试执行任何操作时检查输出/输入等,需要30-60秒左右才能计时out,在此期间它锁定了VS UI线程.无论我尝试重新连接多少次,它都不会重新启动VS.
我通常可以在2-3秒内判断是否会发生这种情况,并且我已经更快地结束Visual Studio中的任务并重新启动它.
因此,我希望能够设置5秒的超时,如果我无法在此时间范围内获得VSO连接,至少我可以关闭并打开VS而不是通过任务管理器结束任务.
我正在使用Ember 1.7并且有一个带有验证的模型.
使用输入助手,我将动作绑定到on="key-press"触发器.
在触发的动作中(在我的控制器中)我正在调用,this.get('myModalInstance').validate()并且我有处理程序设置为通过和失败.
奇怪的是,验证似乎与我输入的先前值相关.
因此,如果我的验证说numericality: { greaterThan: 0, lessThanOrEqualTo: 90 }我输入时9,它验证确定,当我输入时验证确定,当我输入91它时验证911失败.
就我所见,这似乎是一个关键的压力太晚了.这是一个已知/常见的问题吗?是否有避免此问题的提示?
编辑 我应该补充说,我还尝试将我的验证失败css类绑定到像这样的字段的errors对象:
{{input value=myValue classBinding=":form-input myValue.errors:validation-failure"}}
Run Code Online (Sandbox Code Playgroud)
这显示了奇怪的行为(例如有时根本不应用该类,有时在我期待时应用它(例如删除已presence: true设置的输入上的内容),有时在我更改表单上的不同控件时进行验证.
我有一个路由通过.store.query()RSVP哈希中的方法填充模型属性:
model(params, transition) {
return Ember.RSVP.hash({
myData: this.store.query('table-datum', parameters)
});
}
Run Code Online (Sandbox Code Playgroud)
这会返回一个承诺,并且似乎根据Ember检查器将数据存入我的商店,我看到正确的行数,并且它们都具有填充数据的属性.
然后我在主视图模板中有一个简单的组件模板,其中有一个each块来显示输出:
{{#each data as |result|}}
<tr>
<td>{{result.prop1}}</td>
<td>{{result.prop2}}</td>
</tr>
{{/each}}
Run Code Online (Sandbox Code Playgroud)
我正在将属性传递给我的组件,如下所示:
<div id="tableContainer">
{{result-table data=model.myData}}
</div>
Run Code Online (Sandbox Code Playgroud)
但由于某些原因模板结合正确的行数,但不正确的访问prop1和prop2类的位(所以我只得到20个左右的空白表行)
如果我尝试{{result}}在我的模板中输出,它看起来像这样:
<client@model:table-datum::ember574:1>
Run Code Online (Sandbox Code Playgroud)
我很确定数据存在某处,因为我的模板似乎没有因某种原因访问这些属性.
关于在哪里寻找这个的任何想法?
编辑:记录result对象看起来几乎正确,但不完全:
扩展内部模型显示了一些数据,但也说"空对象"对我来说似乎有点不对劲!
编辑:如果它有帮助我有一个控制器功能,它获取model.myData并操作它,这给了我期望的结果:
getMax() {
let max = _.max(this.get('model.myData'),'aField').aField;
console.log(max); // logs 41 as I expect
return max;
}
Run Code Online (Sandbox Code Playgroud) 我想编写一个测试,确保反应组件传递一个propType.isRequired必须具有子组件的prop .
如果未提供道具,我希望此测试失败,如果是,则通过.我正在使用jest-prop-type-error我的测试中抛出错误.
鉴于以下两个组成部分:
Parent.js
const Parent = ({ renderReduxChild , childTitle }) =>
{ return renderReduxChild ? <ReduxChild title={childTitle} /> : <NonReduxChild />}
Run Code Online (Sandbox Code Playgroud)
ReduxChild.js
const ReduxChild = ({ title }) => <div>{title}</div>
ReduxChild.propTypes = { title: PropTypes.string.isRequired }
export default connect(mapStateToProps, mapStateToProps)(ReduxChild)
Run Code Online (Sandbox Code Playgroud)
我想确保我的Parent组件通过childTitleprop而不需要写一个明确的测试说:
Parent.test.js
it('should send the required "title" prop to ReduxChild', () => {
const wrapper = shallow(<Parent renderReduxChild={true} childTitle={'expectedTitle'} />)
expect(wrapper.props().title).toBeDefined()
})
Run Code Online (Sandbox Code Playgroud)
请注意以下事项:
connectED分量,我可以not通过childTitle …我正在尝试apache/nifi v1.6.0使用自定义.nar和将图像在docker中工作workflow。
将这些资源复制到容器中并确保NiFi重新启动以尊重它们的正确方法是什么?
目前,我有一个dockerfile看起来像这样:
FROM apache/nifi:latest
COPY my_nar.nar nifi-1.6.0/lib/
COPY my_workflow.xml /opt/nifi/conf/
EXPOSE 8080
Run Code Online (Sandbox Code Playgroud)
这似乎可以运行,但是启动时在nifi实例中看不到.naror workflow。
我需要将它们放在哪里,如何告诉Nifi容器使用它们?
编辑: 这是我最后的工作dockerfile
FROM apache/nifi:latest
COPY my_nar.nar /opt/nifi/nifi-1.6.0/lib/
COPY my_template.xml /opt/nifi/nifi-1.6.0/conf/templates
COPY --chown=nifi:nifi flow.xml.gz /opt/nifi/nifi-1.6.0/conf/
EXPOSE 8080
Run Code Online (Sandbox Code Playgroud) ember.js ×2
extjs ×2
extjs4 ×2
apache-nifi ×1
asp.net ×1
azure ×1
azure-devops ×1
c# ×1
docker ×1
javascript ×1
jestjs ×1
linq ×1
mongoose ×1
node.js ×1
react-redux ×1
reactjs ×1
redux ×1
refactoring ×1
templates ×1
validation ×1
winjs ×1