小编msa*_*ord的帖子

JavaScript三元if语句

我想知道在javascript中if的短代码是什么?

喜欢在php中:

$res = ($x > $y)? $x: $y;
Run Code Online (Sandbox Code Playgroud)

它在javascript中的转换是什么?

javascript if-statement shortcut conditional-operator

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

应该使用`if($ a!= NULL)`或`if($ a!== NULL)`来控制程序流吗?

这也许是一个痛苦的基本回答的问题,但我想了解一下使用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

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

用于更改xml元素的shell脚本

我想将我的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的元素文件名的值更改为变量中的值.

xml bash shell

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

在Grunt(Yeoman)中禁用缩小

我最近开始通过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)

http://hastebin.com/gicabukojo.js

javascript minify gruntjs grunt-contrib-uglify

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

Angular2:如何在 svg 中添加/更改 css 样式?

我有以下代码将 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 样式吗?

svg dom typescript angular2-template angular

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

路由器可以使用 1 个以上的守卫激活

angular(v 4.1.1) 路由器是否canActivate具有多个功能

{
   path: '',
   component: SomeComponent,
   canActivate: [guard1, guard2, ...]
}
Run Code Online (Sandbox Code Playgroud)

这样的事情应该工作吗?如果不是,如果它假设只带一名警卫,他们为什么会在列表中

因为我有类似的东西,即使guard1返回falseguard2仍然会被执行。

提前致谢

角 4.1.1

angular-routing angular

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

在具有路由的模块中导入具有路由的延迟加载模块会中断路由

我们的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)

我们确实有一个共享模块,其中包含在整个应用程序中使用的通用组件(我们有很多通用组件)。但是,有一些组件(如模式)仅由MaintenanceProgramCar模块共享,而在其他任何地方均未使用。

为了使共享模块合理,我仅将这些曾经重复使用的组件包括在MaintenanceProgram模块中,然后将它们导出,然后将MaintenanceProgram模块导入Car模块中,以访问导出的组件。

无论是CarMaintenanceProgram模块具有以下嵌入子路由调用在各自的@NgModule.imports[]

汽车:

const CarModuleRoutes = RouterModule.forChild([
  {
    path: '',
    component: …
Run Code Online (Sandbox Code Playgroud)

lazy-loading angular angular-router

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

webpack 构建完成后运行 Node 服务器的 NPM 命令

我想运行如下命令: 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)

当前命令将同时启动这两个操作。

node.js npm webpack npm-scripts

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

如何从Nest.js提供资产并添加中间件以检测图像请求

我正在尝试从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)

如何使用控制器或中间件实现它?

node.js express nestjs

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

为什么 &lt;app-root&gt; 在其中渲染另一个 &lt;app-root&gt;,其中包含我的路由组件?

我有一个延迟加载的多模块 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只是调解应用程序范围通知的内容showmessage我没有路由器出口挂钩,也没有直接的 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)

typescript router-outlet angular

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