我在项目中使用nrwl.io。
我创建了几个库:
ng g lib rest //ok
ng g lib services //ok
ng g lib models //created ok, but "Cannot find module " later on!
Run Code Online (Sandbox Code Playgroud)
所有这些库均已成功创建,但是当我尝试导入我的models库时,出现错误“ 找不到模块 ”:
import { ModelA, ModelB } from '@myproj/models'; //Cannot find module '@myproj/models'
Run Code Online (Sandbox Code Playgroud)
问题是:如何以及在哪里可以检查我的'@myproj/models'注册是否正确?
PS我可以看到在“模型”模块nx.json,angular.json和tsconfig.json。我发现与其他模块没有区别。
我使用的PPS"@nrwl/nx": "6.1.0"和 "@nrwl/schematics": "6.1.0"
我正在我的 JS 项目中以函数式方式工作。
这也意味着我不会变异object或array实体。相反,我总是创建一个新实例并替换旧实例。
例如
let obj = {a: 'aa', b: 'bb'}
obj = {...obj, b: 'some_new_value'}
Run Code Online (Sandbox Code Playgroud)
问题是:
如何使用 javascript 地图以功能性(不可变)方式工作?
我想我可以使用以下代码来添加值:
let map = new Map()
...
map = new Map(map).set(something)
Run Code Online (Sandbox Code Playgroud)
但是删除项目呢?
我不能这样做new Map(map).delete(something),因为 的结果.delete是一个布尔值。
PS我知道 ImmutableJS 的存在,但我不想使用它,因为你永远不能 100% 确定你现在使用的是普通 JS 对象还是 immutablejs 对象(尤其是嵌套结构)。顺便说一句,因为 TypeScript 的支持不好。
我正在尝试使用mongodb(使用mogoose)和node.js使用restify构建类似rest的API.我是mongo世界的绝对新手,我不确定问题出在哪里.这是数据库连接的问题,还是其他什么?
所以,我这样做: rest-server.js
//start server
var restify = require('restify');
var server = restify.createServer();
server.use(restify.bodyParser());
//connect db
var config = require('./Config.js');
var mongoose = require('mongoose'),
db = mongoose.createConnection('localhost', 'travelers'),
Schema = mongoose.Schema,
ObjectId = mongoose.SchemaTypes.ObjectId;
db.on('error', console.error.bind(console, 'DB connection error:'));
db.once('open', function callback() {
console.log('db connection open');
});
var LoginModel = require('./models/LoginModel.js').make(Schema, mongoose);
var LoginResource = require('./resource/LoginResource.js')(server, LoginModel);
Run Code Online (Sandbox Code Playgroud)
LoginModel.js
function make(Schema, mongoose) {
var LoginSchema = new Schema({
//id: (?)
username: String,
password: String,
traveler_id: Number,
contact_id: Number,
last_login: Date,
token: …Run Code Online (Sandbox Code Playgroud) 我有一个这样的表格:
<form name="myForm">
<input id="myName" ng-model="myName" required/>
...
<button ng-click="doSomePrepare()">Do some prepare</button>
...
<button ng-click="saveForm()" ng-disabled="myForm.$invalid">Save</button>
</form>
Run Code Online (Sandbox Code Playgroud)
我只想在单击"保存"按钮时验证表单.
但如果我点击"做一些准备",浏览器(chrome)会要求我填写"myName"输入.
它让我有问题,因为在现实世界中"做一些准备"按钮可能是一个日期选择按钮或下拉或类似的东西.
PS.我使用Angular 1.2版本,但据我所知,这可以用1.0版本重现
JSfiddle:http://jsfiddle.net/se_panfilov/wQF4S/4/
我有一个非常愚蠢的性能问题。
我有一个使用的组件ngStyle,并且我不想重写它。但是每次我在同一页面上随机点击input(甚至从另一个组件)时,都会ngStyle重新计算(并且执行起来非常慢)。
假设我要有一张带有动态背景的乘法表:
<section>
<div class="row"
*ngFor="let row of rows">
<div class="col"
[ngStyle]="{'background-color': getBG(row*col)}"
*ngFor="let col of cols ">
{{row * col}}
</div>
</div>
</section>
Run Code Online (Sandbox Code Playgroud)
然后由于某种原因,我想在同一页面上添加几个输入:
<section>
<input type="text" [ngModel]="model1"/>
<input type="text"[ngModel]="model2"/>
<input type="text"[ngModel]="model3"/>
<input type="text"[ngModel]="model4"/>
<input type="text"[ngModel]="model5"/>
</section>
Run Code Online (Sandbox Code Playgroud)
现在,每次我单击这些输入之一时,getBG()就会被调用。即使该函数只返回一个字符串而无需任何计算,它仍然非常慢
StackBlitz的示例 -只需打开consomle并尝试在不同的输入字段中快速单击或输入一个值即可。即使作为用户我也可以看到它完全没有响应
UPD1:我的现实情况要复杂得多。并已使用ChangeDetectionStrategy.OnPush。绑定ngStyle到值而不是函数也无济于事-它更快但仍然很慢(并产生很多复杂性)。我想要的是,这可能是一种在ngStyle我明确询问之前不要重新计算的方法。也许ChangeDetectorRef.detach()可以帮助
我的grails应用程序应该使用两个插件:shiro和quartz2.
我将两个插件添加到BuildConfig.groovy:
(在那个ide之后下载了它们)
依赖关系中的问题:shiro取决于shiro-quartz:1.2.0和来自org.opensymphony.quartz的shiro-quartz 1.6.1
我想知道为什么但是quartz2正在寻找方法实现到quartz-1.6.1.jar.Quartz2无法找到实现,这就是无法构建项目的原因.我认为quartz2应该在"普通"石英lib中搜索方法实现,比如quartz:1.0-RC7,但他没有.
那么,我怎样才能解决shiro和quartz2插件的冲突?
我听说依赖排除,但我不确定这个sugesstion.
PS与石英(不是quartz2)发生同样的问题
grails quartz-scheduler dependency-management grails-plugin shiro
我有一个巨大的 angularjs 应用程序,其中包含许多.js文件。
据我所知,浏览器应该打开一个新的连接来访问每个文件。文件大小与性能无关,但打开新连接有关系。
所以这就是为什么我正在寻找一些 js-assembler 来制作单个.js文件。
我不确定在 angular 应用程序的情况下我应该这样做吗?谁能建议我应该选择哪个js汇编程序?
在vuejs方面:
如何正确添加约束(限制)v-model?假设我想只允许0和之间的数字5.
<input type="number" v-model="model"/>
Run Code Online (Sandbox Code Playgroud)
也许我可以watch输入价值.但它有点hacky,不是吗?
UPD:其他选项是处理onChange,onKeyUp等等和其他事件:HTML文本输入仅允许数字输入
javascript ×7
angular ×2
angularjs ×2
typescript ×2
compression ×1
dictionary ×1
forms ×1
grails ×1
immutability ×1
minify ×1
mongodb ×1
mongoose ×1
node.js ×1
nrwl ×1
shiro ×1
validation ×1
vue.js ×1