我想知道在javascript中if的短代码是什么?
喜欢在php中:
$res = ($x > $y)? $x: $y;
Run Code Online (Sandbox Code Playgroud)
它在javascript中的转换是什么?
这也许是一个痛苦的基本回答的问题,但我想了解一下使用PHP的关于性能问题如果相同的 !==对比,如果等于 !=控制流.
考虑以下简单的PHP函数:
<?php
function test_json($json = NULL) {
if ($json != NULL) {
echo 'You passed some JSON.';
} else {
echo 'You failed to pass any JSON.';
}
}
?>
Run Code Online (Sandbox Code Playgroud)
从性能的角度来看,最好是使用if(!==)来阻止PHP迭代变量类型,试图找到有效的比较吗?
我认为是!== 第一个对变量的类型,如果失败,它会立即返回FALSE?我!=从PHP3开始几乎用作反射.既然我正在开展一些计算密集型项目,那么微小的性能考虑将成为一个问题.
当然,欢迎对流量控制优化提出其他意见!
php performance if-statement program-flow micro-optimization
我想将我的xml"abc.xml"元素的值更改为存储在变量$ value ie中的值
$ value ='abc';
<annotation>
<filename>img_000001016592.png</filename>
<folder>Rec_20121219_171905</folder>
<source>
<sourceImage>The MIT-CSAIL database of objects and scenes</sourceImage>
<sourceAnnotation>LabelMe Webtool</sourceAnnotation>
</source>
<imagesize>
<nrows>481</nrows>
<ncols>640</ncols>
</imagesize>
</annotation>
Run Code Online (Sandbox Code Playgroud)
需要shell脚本,它有一个变量,它包含变量中的值,然后将abc.xml的元素文件名的值更改为变量中的值.
我最近开始通过Yeoman使用GruntJS,我喜欢Javascript缩小的想法,但它在开发过程中遇到了困难.我试图在Gruntfile中以不同的组合禁用uglify,usemin等,但是一切似乎都依赖于另一件事并打破了这个过程.有没有简单的方法来禁用缩小?我使用Yeoman提供的最新版本的Grunt,我发现旧的解决方案与使用Yeoman的用户有不同的Gruntfile设置.
这是我的Gruntfile:
// Reads HTML for usemin blocks to enable smart builds that automatically
// concat, minify and revision files. Creates configurations in memory so
// additional tasks can operate on them
useminPrepare: {
options: {
dest: '<%= config.dist %>'
},
html: '<%= config.app %>/index.html'
},
Run Code Online (Sandbox Code Playgroud)
我有以下代码将 svg 添加到 angular2 组件的模板:
<object type="image/svg+xml" data="kiwi.svg" class="logo">
Kiwi Logo
</object>
Run Code Online (Sandbox Code Playgroud)
为了动态添加 css 样式,我尝试了几种方法来获取内容:
1)
public ngAfterViewInit(): void {
this.el = this._doc.getElementsByTagName('svg');
console.log(this.el);
}
Run Code Online (Sandbox Code Playgroud)
结果在控制台:[]
2)
public ngAfterViewInit(): void {
this.el = this._elementRef.nativeElement.querySelector('object');
console.log(this.el);
}
Run Code Online (Sandbox Code Playgroud)
结果在控制台:null
题:
任何人都可以帮助我了解如何访问 svg 以及如何更改打字稿中的 css 样式吗?
angular(v 4.1.1) 路由器是否canActivate具有多个功能
{
path: '',
component: SomeComponent,
canActivate: [guard1, guard2, ...]
}
Run Code Online (Sandbox Code Playgroud)
这样的事情应该工作吗?如果不是,如果它假设只带一名警卫,他们为什么会在列表中
因为我有类似的东西,即使guard1返回false,guard2仍然会被执行。
提前致谢
角 4.1.1
我们的angular 4.3.6应用程序具有延迟加载的模块,例如Fleet,Maintenance,Car等。
我的顶级应用路由器如下所示:
const routes: Routes = [
{ path: '', redirectTo: 'fleet', pathMatch: 'full' },
{
path: '',
component: AppComponent,
canActivate: [AuthenticationGuard],
children: [
{
path: 'fleet',
loadChildren: "./modules/fleet.module",
canActivate: [AuthenticationGuard]
},
{
path: 'car/:id',
loadChildren: "./modules/car.module",
canActivate: [AuthenticationGuard]
},
{
path: 'maintenanceProgram',
loadChildren: "./modules/maintenanceProgram.module",
canActivate: [AuthenticationGuard]
}
}
Run Code Online (Sandbox Code Playgroud)
我们确实有一个共享模块,其中包含在整个应用程序中使用的通用组件(我们有很多通用组件)。但是,有一些组件(如模式)仅由MaintenanceProgram和Car模块共享,而在其他任何地方均未使用。
为了使共享模块合理,我仅将这些曾经重复使用的组件包括在MaintenanceProgram模块中,然后将它们导出,然后将MaintenanceProgram模块导入Car模块中,以访问导出的组件。
无论是Car与MaintenanceProgram模块具有以下嵌入子路由调用在各自的@NgModule.imports[]:
汽车:
const CarModuleRoutes = RouterModule.forChild([
{
path: '',
component: …Run Code Online (Sandbox Code Playgroud) 我想运行如下命令: npm run start:dev 使我的节点服务器运行但在 webpack 完成构建包之后。
我目前的 npm 脚本是:
"scripts": {
"start": "node server/server.js",
"start:dev": "npm run build:prod & npm start",
"lint": "eslint *",
"build:dev": "webpack",
"build:prod": "webpack -p --env production",
"dev-server": "webpack-dev-server",
"test": "cross-env NODE_ENV=test jest --config=jest.config.json"
},
Run Code Online (Sandbox Code Playgroud)
当前命令将同时启动这两个操作。
我正在尝试从Nest.js服务器提供图像并添加中间件来跟踪所有请求,但我唯一能使它起作用的方法是使用express
import { NestFactory } from '@nestjs/core';
import * as bodyParser from "body-parser";
import {AppModule} from "./app.module";
import * as path from "path";
import * as express from 'express';
async function bootstrap() {
const app = await NestFactory.create(AppModule);
app.use(bodyParser.json({limit: '50mb'}));
app.use(function(req, res, next){
next();
});
//
app.use('/api/track/',express.static(path.join(__dirname, '/public'))); //Serves resources from public folder
app.use('/api/track/:img', function (req, res, next) {
console.log('do something');
next();
});
await app.listen(3333);
}
bootstrap();
Run Code Online (Sandbox Code Playgroud)
如何使用控制器或中间件实现它?
我有一个延迟加载的多模块 Angular 7.2.2 应用程序,它似乎AppComponent在自身内部创建 main 模板的副本,然后在其中渲染路由组件。
这是我对完整但简洁的序言的尝试(我无法在 plunkr 中重现这一点)。请询问我遗漏的任何细节。
我有一个index.html包含普通 HTML 的文件,以及<app-root>其<body>. 这是项目中唯一app-root出现标签的位置。angular.json该文件在的属性中引用projects.app.architect.build.options.index。
主要AppComponent声明为
@Component({
selector: 'app-root',
template: `
<router-outlet></router-outlet>
<message-banner [show]="showMessage" [message]="message"></message-banner>
`,
providers: [AuthenticationService, AuthenticationGuard, MessagingService]
})
Run Code Online (Sandbox Code Playgroud)
其余逻辑AppComponent只是调解应用程序范围通知的内容show。message我没有路由器出口挂钩,也没有直接的 DOM 操作。
我main.ts像往常一样引导应用程序
import { enableProdMode } from '@angular/core';
import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
import { AppModule } from './app.module';
import { environment } …Run Code Online (Sandbox Code Playgroud) angular ×4
if-statement ×2
javascript ×2
node.js ×2
typescript ×2
bash ×1
dom ×1
express ×1
gruntjs ×1
lazy-loading ×1
minify ×1
nestjs ×1
npm ×1
npm-scripts ×1
performance ×1
php ×1
program-flow ×1
shell ×1
shortcut ×1
svg ×1
webpack ×1
xml ×1