小编And*_*tch的帖子

Visual Studio代码:格式不使用缩进设置

Format Code在Visual Studio代码中使用该命令时,它不遵循我的缩进设置("editor.tabSize": 2).它使用的标签大小为4.任何想法为什么会这样?

谢谢!

visual-studio-code

120
推荐指数
9
解决办法
7万
查看次数

如何在多页面项目中使用RequireJS构建配置文件+ r.js.

我目前正在学习RequireJS基础知识,并对构建配置文件,主文件以及RequireJS与多页项目的使用有一些疑问.

我项目的目录结构如下:

httpdocs_siteroot/
    app/
        php files...
    media/
        css/
            css files...
        js/
            libs/
                jquery.js
                require.js
                mustache.js
            mains/
                main.page1.js
                main.page2.js
                main.page3.js
            plugins/
                jquery.plugin1.js
                jquery.plugin2.js
                jquery.plugin3.js
            utils/
                util1.js
                util2.js
        images/

由于这个项目不是单页应用程序,因此每个页面都有一个单独的主文件(尽管有些页面使用相同的主文件).

我的问题是:

  1. RequireJS是否适用于非单页项目?

  2. 在不使用优化器的情况下,我的每个主文件都以基本相同的配置选项开头:

    requirejs.config({
      paths: {
        'jquery': 'http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min'
      },
      baseUrl: '/media/js/',
      // etc...
    });
    require(['deps'], function() { /* main code */ });
    
    Run Code Online (Sandbox Code Playgroud)

    有办法避免这种情况吗?就像让每个主文件包含相同的构建配置文件而不必实际构建它一样?

  3. r.js应该进入httpdocs_siteroot父目录吗?

  4. 我的app目录结构或我使用RequireJS有什么明显的错误吗?

javascript requirejs

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

如何使用browserify对npm模块执行转换

默认情况下,browserify不会对node_modules中包含的模块执行转换,即不使用路径.

我做了一个快速的github回购,在这里说明了它.获得浏览器化的index.js文件如下所示:

var fs = require('fs');
var testmodule = require('testmodule');
var trg1 = document.getElementById("target1");
var trg2 = document.getElementById("target2");
trg1.innerHTML = fs.readFileSync(__dirname+"/something.txt");
trg2.innerHTML = testmodule();
Run Code Online (Sandbox Code Playgroud)

testmodule 看起来像这样:

var fs = require('fs');
exports = module.exports = function() {
    return fs.readFileSync(__dirname+'/data.txt');
}
Run Code Online (Sandbox Code Playgroud)

使用brfs转换模块,我希望能够内联两个调用fs.readFileSync,但是当我运行时browserify index.js -t brfs -o bundle.js,只有我的主项目中的调用被内联.这是bundle.js的结果:

;(function(e,t,n){function r(n,i){if(!t[n]){if(!e[n]){var s=typeof require=="function"&&require;if(!i&&s)return s(n,!0);throw new Error("Cannot find module '"+n+"'")}var o=t[n]={exports:{}};e[n][0](function(t){var i=e[n][1][t];return r(i?i:t)},o,o.exports)}return t[n].exports}for(var i=0;i<n.length;i++)r(n[i]);return r})({1:[function(require,module,exports){
// nothing to see here... no file methods for …
Run Code Online (Sandbox Code Playgroud)

javascript browserify

17
推荐指数
1
解决办法
6513
查看次数

编译时OK,在使用webpack的typescript中使用来自命名空间的类时出现运行时错误

我用招摇,代码生成-l typescript-angular选项生成的REST消费服务的库.生成的代码看起来像this(DefaultApi.ts):

namespace API.Client {
    'use strict';

    export class DefaultApi {
        protected basePath = 'http://localhost:7331/v1';
        public defaultHeaders : any = {};

        static $inject: string[] = ['$http', '$httpParamSerializer', 'basePath'];

        constructor(protected $http: ng.IHttpService, protected $httpParamSerializer?: (d: any) => any, basePath?: string) {
            if (basePath !== undefined) {
                this.basePath = basePath;
            }
        }

        private extendObj<T1,T2>(objA: T1, objB: T2) {
            for(let key in objB){
                if(objB.hasOwnProperty(key)){
                    objA[key] = objB[key];
                }
            }
            return <T1&T2>objA;
        }

        /**
         * Delete a person. …
Run Code Online (Sandbox Code Playgroud)

typescript webpack swagger-codegen

11
推荐指数
1
解决办法
609
查看次数

Mocking/Stubbing在PHPUnit中实现arrayaccess的类的Object

这是我正在编写测试套件的类的构造函数(它扩展了mysqli):

function __construct(Config $c)
{
    // store config file
    $this->config = $c;

    // do mysqli constructor
    parent::__construct(
        $this->config['db_host'],
        $this->config['db_user'],
        $this->config['db_pass'],
        $this->config['db_dbname']
    );
}
Run Code Online (Sandbox Code Playgroud)

Config传递给构造函数的类实现了arrayaccessphp内置的接口:

class Config implements arrayaccess{...}
Run Code Online (Sandbox Code Playgroud)

我如何模拟/存根Config对象?我应该使用哪个以及为什么?

提前致谢!

php phpunit arrayaccess

8
推荐指数
1
解决办法
1983
查看次数

如何使用<input type ="file"/>模拟本地计算机上的实际文件上载时间?

我正在开发一个带有文件上传表单的网页,该表单通过ajax上传文件(使用jquery.form插件和更新<progress>栏).我正在使用MAMP,因为我上传的文件只是从我的计算机上的一个位置复制到另一个位置,上传时间太快,无法查看进度条的运行情况,即使文件很大.

我记得看到一个截屏视频,主持人对他的本地环境进行了一些改动,这减慢了上传过程,但特定的截屏视频让我感到震惊......

apache mamp file-upload localhost

6
推荐指数
1
解决办法
1095
查看次数

特定于Chrome的CSS问题设置表格单元格显示:阻止

我发现这个问题似乎有我想要的东西.我正在使用chrome 32.0.1700.102,即使是第一个答案的小提琴,对我来说也很棒.

但是,当我将以下html放入新文件并在chrome中打开时,tds的"计算样式"选项卡仍显示display:table-cell;:

<html>
    <head>
        <style>
            #block td {
                display: block;
                background: #ccc;
            }
        </style>
    </head>
    <body>
        <table>
            <tr>
                <td>a</td>
                <td>b</td>
                <td>c</td>
                <td>d</td>
            </tr>
        </table>

        <table id="block">
            <tr>
                <td>a</td>
                <td>b</td>
                <td>c</td>
                <td>d</td>
            </tr>
        </table>
    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

当我在firefox中打开它时,我得到了所需的结果:

firefox vs chrome

以下是chrome的屏幕截图,显示了样式选项卡中的display:block规则,但显示:计算选项卡中的table-cell:

在此输入图像描述

html css google-chrome

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

用于有限无序集合的 RESTful 设计的映射或数组?

我和一位同事正在就 REST 服务的设计进行激烈的辩论。对于我们的大多数 API,对集合的 GET 调用返回如下内容:

GET /resource
[
    { "id": 1, ... },
    { "id": 2, ... },
    { "id": 3, ... },
    ...
]
Run Code Online (Sandbox Code Playgroud)

我们现在必须实现对标识属性为“name”(而不是上面示例中的“id”)的属性集合的调用。此外,存在一组有限的属性,并且它们的发送顺序无关紧要。我想出的规范看起来像这样:

GET /properties
[
    { "name": "{PROPERTY_NAME}", "value": "{PROPERTY_VALUE}", "description": "{PROPERTY_DESCRIPTION}" },
    { "name": "{PROPERTY_NAME}", "value": "{PROPERTY_VALUE}", "description": "{PROPERTY_DESCRIPTION}" },
    { "name": "{PROPERTY_NAME}", "value": "{PROPERTY_VALUE}", "description": "{PROPERTY_DESCRIPTION}" },
    ...
]
Run Code Online (Sandbox Code Playgroud)

我的同事认为它应该是一张地图:

GET /properties
{
    "{PROPERTY_NAME}": { "value": "{PROPERTY_VALUE}", "description": "{PROPERTY_DESCRIPTION}" },
    "{PROPERTY_NAME}": { "value": "{PROPERTY_VALUE}", "description": "{PROPERTY_DESCRIPTION}" },
    "{PROPERTY_NAME}": { "value": "{PROPERTY_VALUE}", "description": "{PROPERTY_DESCRIPTION}" …
Run Code Online (Sandbox Code Playgroud)

rest json

6
推荐指数
1
解决办法
1314
查看次数

d3 (v4) 树布局和打字稿:类型“HierarchyNode&lt;IOorgChartNode&gt;”上不存在属性“x”

我试图在使用d3.hierarchy具有树布局的根时使用正确的 ts 类型,例如:

interface MyCustomGraphType {
  id: string;
  children?: MyCustomGraphType[]
}
let treeData: MyCustomGraphType = {/*...*/};
let root = d3.hierarchy(treeData);
let layout = d3.tree().size([500,500])(root);
let nodes = layout.descendants();

// BIND DATA (Node)
let node = this.nodesGroup.selectAll('g.node')
  .data(nodes, d => d.data.person.email); // <--- compile-time error
   // ^^^ Property 'data' does not exist on type '{} | HierarchyNode<MyCustomGraphType>'.

// ... later:
node.enter()
  .append('circle')
  .attr('transform', d => `translate(${d.x}, ${d.y})`); // <--- compile-time error
   // ^^^ Property 'y' does not exist on …
Run Code Online (Sandbox Code Playgroud)

d3.js typescript

6
推荐指数
1
解决办法
2846
查看次数

在 vue 组件的模板 html 中启用智能感知需要什么?

我对 Vue 比较陌生,但精通 Typescript 和 Angular。我目前正在走打字稿路线,使用vue 文档规定的vue-class-componentvue-property-decorator库。

我使用 VSCode 作为我的编辑器,并且根据标题,想知道是否有任何工具/插件/IDE 允许在 html 模板中自动完成/智能感知。比如说我的.ts文件是:

hi.ts:

import { Component, Vue, Prop } from 'vue-property-decorator';

interface IInfo {
  name: string;
  age: number;
}

@Component({
  template: require('./hi.html')
})
export default HiComponent extends Vue {
  info: IInfo = { name: 'brosef', age: 30 };
}
Run Code Online (Sandbox Code Playgroud)

你好.html:

<h1>name: {{ info.^ }}</h1>
<h2>age: {{ info.^ }}</h2>
Run Code Online (Sandbox Code Playgroud)

是否有插件或编写插件的方法可以在键入此模板时提供自动完成选项(^hi.html上面的位置)?也许一个插件可以读取链接相应组件类的模板顶部的特殊注释...¯\_(?)_/¯

typescript vue.js visual-studio-code vue-component

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

制作两个弹性项目,每个父项的高度为50%

我正在使用css flex布局来构建仪表板,并希望在Flex项目中放置两个小部件(一个在另一个之上),并使它们始终保持父级的50%高度(无论内容如何).所以,如果我的HTML是:

<div class="flex-container">
  <div class="flex-item">
    <div class="widget" id="w1">
      widget 1 content
    </div>
    <div class="widget" id="w2">
      widget 2 content
    </div>
  </div>
</div>
Run Code Online (Sandbox Code Playgroud)

我的css看起来像:

.flex-container {
  display: flex;
  flex-direction: column;
}
.flex-item {
  flex: 1;
}
Run Code Online (Sandbox Code Playgroud)

我怎样才能让两个.widget人总是占据50%的高度.flex-item

我试过了:

.flex-item {
  flex: 1;
  display: flex;
}
.widget {
  flex: 1;
}
Run Code Online (Sandbox Code Playgroud)

但这只适用于两个小部件中的内容相同的情况.

我已经编写了一个更精细的jsfiddle来更好地说明我的问题.

提前致谢!

html css css3 flexbox

3
推荐指数
1
解决办法
7954
查看次数

你如何使preg_replace捕获大写(PHP)?

我有一个字符串:'Some_string_to_capitalize',我想将其转换为'Some_String_To_Capitalize'.我试过了:

$result = preg_replace( '/(_([a-z]{1}))/' , strtoupper('$1') , $subject  )
Run Code Online (Sandbox Code Playgroud)

$result = preg_replace( '/(_([a-z]{1}))/' , "strtoupper($1)" , $subject  )
Run Code Online (Sandbox Code Playgroud)

我查看了php手册页,在这里,但没有发现任何东西.如果这是一个重复的道歉!

这是Javascript的等效SO问题.

php string preg-replace

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