小编Mic*_*bry的帖子

将bootstrap.js添加到browserify?

所以我想弄清楚如何做到这一点?我通过bower下载了bootstrap-sass并将bootstrap javascript添加到垫片中.

有些事让我困惑,bootstrap.js文件看起来像这样.

//= require bootstrap/affix
//= require bootstrap/alert
//= require bootstrap/button
//= require bootstrap/carousel
//= require bootstrap/collapse
//= require bootstrap/dropdown
//= require bootstrap/tab
//= require bootstrap/transition
//= require bootstrap/scrollspy
//= require bootstrap/modal
//= require bootstrap/tooltip
//= require bootstrap/popover
Run Code Online (Sandbox Code Playgroud)

这是一种自我解释,但同时仍然令人困惑,我是否会这样评论?当我添加到bootstrap shim时,我只包含bootstrap.js文件,还是应该链接到我需要的所有文件?

为了避免被黑客攻击(我将在此期间进行),我想尝试获取有关如何将bootstrap.js包含在browserify中的一些信息.

编辑:我想我可能只需要连接我需要的所有文件并包含该脚本,因为当我浏览bootstrap.js时,我就得到了上述内容.

我会尝试没有评论,然后如果失败我会将所有脚本连成一个文件,看看会发生什么:)

编辑:嗯看起来像concat理论的作品!唯一的问题是jQuery,看一看.

; jQuery = global.jQuery = require("c:\\wamp\\www\\mysite\\app\\client\\requires\\jquery\\js\\jquery.js");
/* ========================================================================
 * Bootstrap: affix.js v3.1.1
 * http://getbootstrap.com/javascript/#affix
 * ========================================================================
 * Copyright 2011-2014 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 * ======================================================================== */
Run Code Online (Sandbox Code Playgroud)

这是我编译的浏览器代码,当我调用bootstrap函数时让它工作的唯一方法就是说$('body').modal('toggle')我必须手动更改jQuery …

javascript jquery node.js twitter-bootstrap browserify

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

Browserify jQuery没有定义?

所以我知道如何手动修复它,但这很烦人!

我包括bootstrap dropdown.js,并在函数的末尾

}(jQuery);

在我的垫片中,我将jquery设置为依赖

'bootstrap': {
    "exports": 'bootstrap',
    "depends": {
        "jquery": '$'
    }
},
Run Code Online (Sandbox Code Playgroud)

看起来这是唯一可以使用的方法$,但是由于下拉列表在控制台显示的末尾有jQuery

ReferenceError: jQuery is not defined

}(jQuery);
Run Code Online (Sandbox Code Playgroud)

将其改为}($);工作.

所以我的问题是,有没有人有任何想法更好地做到这一点,而无需手动执行,或手动编辑脚本最好?

javascript jquery twitter-bootstrap browserify

9
推荐指数
2
解决办法
6141
查看次数

在backbone.js中的键盘?

看起来按键只能在焦点元素上执行?我没有完全接受这一点,必须有一种方法来执行类似于点击事件的按键事件?

我有一个视图,一次只能处理一个项目.我有一个mouseenter- mouseleave函数,它为鼠标结束的项添加一个类.当项目收到该类时,我希望能够使用按键事件在该项目上运行函数.

显然这是一个轻微的障碍,但我想知道我需要做什么.以下是示例视图.

var PlayerView = Backbone.View.extend({
    tagName: 'div',

    events: {
        'click .points, .assists, span.rebounds, span.steals':'addStat',
        'mouseenter': 'enter',
        'mouseleave': 'leave',
        'keypress': 'keyAction'
    },

    enter: function() {
        this.$el.addClass('hover');
    },

    leave: function() {
        this.$el.removeClass('hover');
    },

    keyAction: function(e) {
        var code = e.keyCode || e.which;
        if(code == 65) { 
            alert('add assist')
        }
    }
});
Run Code Online (Sandbox Code Playgroud)

所以这里没有太多的逻辑,但我想我会写这样的东西

    keyAction: function(e) {
        var code = e.keyCode || e.which;
        if(code == 65) { 
            var addAssist = parseInt(this.model.get('assists')) + 1;        
            this.model.save({assists: addAssist});
        }
    }
Run Code Online (Sandbox Code Playgroud)

基本上如果我能弄清楚如何解雇这种 …

javascript jquery backbone.js

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

在oop中设置全局变量的最佳方法是什么?

我很难找到答案,我确信它在我面前,但我不能把它放在一起.

    //Global Variables
    global $GLOBAL;
    $GLOBAL['myPluginPath'] = dirname( __FILE__ );


    //Main Object   
    class My_Class {

            public function __construct() {

                    // Initialize Settings
                    require_once $GLOBAL['myPluginPath'] . '/settings.php';
                    $My_Settings = new My_Settings();

            } 
     }
Run Code Online (Sandbox Code Playgroud)

我想使用一个变量,所以我的代码感觉更有条理,我觉得我可以更好地读取我的代码,当这样定义路径时,它可以更容易地更改变量,以便它在整个代码中应用,如果需要的话.

我可以通过在我的方法中编写变量来使变量工作.

    public function WhatEverFunc() {
        global $GLOBAL
        require_once $GLOBAL['myPluginPath'] . '/settings.php'; 
   }
Run Code Online (Sandbox Code Playgroud)

这里的主要问题是,我想知道这是不好的做法,如果没有,那么有更好的方法,然后必须global $GLOBAL在每个方法内定义.如果这是不好的做法,你能告诉我良好的做法吗?

还有一件我真正好奇的事情.在main中__construct你看到我没有使用global $GLOBAL它,因为它没有它,但在该require_once文件中是另一个具有必须global $GLOBAL在其中使用的方法的类.希望有人可以解释一下.

我想有些人说这是不好的做法.我读到有一个单身模式(不良做法)和一个全局模式.不确定我上面做了什么构成,我只是有点迷失在我应该做的事情上我想要实现的目标.

php oop

6
推荐指数
2
解决办法
5676
查看次数

Weinre没有工作,试图调试?

我想我可能会遗漏一些东西,但我已经在我的Android平板电脑上安装了.apk脚本

<script src="http://localhost:8080/target/target-script-min.js#anonymous"></script> 
Run Code Online (Sandbox Code Playgroud)

在标题中.

我决定尝试在http://forums.adobe.com/docs/DOC-2623上本地运行它.我去了"localhost:8080"并且安装了weinre,但我仍然得到"目标未找到"的相同内容.

我想我错过了一步,或者我不完全理解它如何连接到我的应用程序?

我也尝试通过build.phonegap.com建立它启用调试模式,然后安装apk然后单击调试,gosh步骤很好,很容易,但我不能让它工作.

我不得不遗漏一些东西,所以我希望有人可以帮我理解我所缺少的东西.

解决:感谢@Christian Kuetbach在他的回答帮助之后,让我添加一些内容以防万一其他人有这个问题.

  1. 我确保最后加载的脚本是最后加载的,我把它放在最底层,因为我认为它应该在所有内容之后加载.这样做是为了确保.

  2. 确保正确连接到weinre,@ Christian Kuetbach说--boundHost -all-但是我必须输入它,这weinre --boundHost -all-可能会添加weinre是一个显而易见的事情,但它可能会导致混乱,所以一定要这样做我在win8上运行如果这样做差异.

android cordova

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

显示登录的用户列表,(passportjs、会话,也许是套接字)?

介绍:

好的,我已经组合了一个不错的应用程序,允许用户登录(node.js、passportjs、mongodb)。现在进一步推进应用程序,我需要查看谁登录了。


理论:

所以这个想法刚刚打动了我,我认为最好的想法是传递 a connected = true,或者connected = false当用户登录时,然后注销到用户模型。


题:

我的问题是在我的应用程序中跟踪谁的会话处于活动/连接/登录状态的最佳方法是什么?它会将这些属性传递给模型吗?

是否有跟踪所有用户会话的标准方法?我不希望这是一个违反规则的自以为是的问题,但必须有一种技术方法来跟踪会话!对于这样的事情,最佳做法是什么?


试炼:

所以在这里我可以更具体地进行测试,但我忘记了在我的把手模板中我只能访问来自该用户 mongodb 模型的属性。

<div class="row">

    {{#if user.connected}}
        {{#each user.connected}}
            <li>{{this}}</li>
        {{/each}}
    {{/if}}

</div>
Run Code Online (Sandbox Code Playgroud)

以上显然行不通,因为在为该页面创建路由时,数据是这样传递的。

res.render('profile', { user : req.user });
Run Code Online (Sandbox Code Playgroud)

所以我坚持使用connected: trueconnected: false它很容易,有效,对我来说很有意义。


精致问题:

因此,根据给定的情况,我使用 express 进行路由,渲染并将响应对象传递给我的把手模板。我想创建一个模型,该模型admin = true只有该用户才能访问所有模型。

我的问题是在响应对象中如何传递所有用户的集合。它不能作为响应,我可能需要做一个 mongoDB 查询?这听起来对吗,比如

AppUser.find({ connected: true }, function (err, user) {
    console.log(user);
    res.render('profile', { user : user });
});
Run Code Online (Sandbox Code Playgroud)

类似上面的东西,我要测试它并回贴。我觉得我已经缩小了范围,那么将所有连接模型的列表传递给“res.render”以便我可以在我的模板中访问它们的最佳解决方案是什么?


编辑:所以这种作品,这是我遇到的一个问题。

我希望能够像这样呈现用户,res.render('chat', { user : req.user …

session login mongodb node.js facebook-login

6
推荐指数
0
解决办法
1018
查看次数

Chartist.js删除标签?

所以我可以display:none标签ex.下面有css,但我的.ct-chart仍然在图表的左侧和底部有一些东西.图片如下.

.ct-labels, .ct-grids {
  display: none;
}
Run Code Online (Sandbox Code Playgroud)

理想情况下,蓝色图表位于白色模块的左侧,下方位于底部,因此它与div匹配,位于绝对位置,图表响应性处于打开状态.我假设空白是从DOM中仍然存在的标签创建的?

在此输入图像描述

我想让图表左侧和下侧没有空白区域.我的.ct-chartCSS看起来像这样.

.ct-chart {
position: absolute;
width: 100%;
left: 0;
top: 0;
height: 100%;
padding: 0;
z-index: -1;
}
Run Code Online (Sandbox Code Playgroud)

html javascript css chartist.js

6
推荐指数
2
解决办法
7362
查看次数

为什么骨干在整个过程中使用_.extend()方法?

我很好奇创建一个MVC javascript框架,以获得乐趣,并作为一种学习体验.

在backbone.js https://github.com/jashkenas/backbone/blob/master/backbone.js中,作者使用下划线的_.extend()方法来"扩展"骨干对象.

Model我试图找出这个的好处开始.

// Attach all inheritable methods to the Model prototype.
_.extend(Model.prototype, Events, {});
Run Code Online (Sandbox Code Playgroud)

这是如何运作的?Model在此之前已经定义了,那么作者想要Copy all of the properties in the source objects over to the destination object http://underscorejs.org/#extend,他在里面创建了一大堆方法来与源模型作为原型进行交互?

为什么不呢

Backbone.Model.prototype.get = function() {
    return 'Do Get';
}

Backbone.Model.prototype.set = function() {
    return 'Do Set';
}
Run Code Online (Sandbox Code Playgroud)

或者更好的是使用Es6?以下是否与上述相同?

class Model extends Backbone {
  get() {
    return 'Do Get';
  }
  set() {
    return 'Do Set';
  }
}
Run Code Online (Sandbox Code Playgroud)

我是在正确的道路上,还是我在这里错过了一些东西?显然他在es6之前创造了这个东西,但我也很想知道它是否可以完成.

我的角度是抓住他的意图并重新创造这个概念,而没有下划线的依赖性.

javascript backbone.js

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

用新数据更新chartistjs?

我可以setTimeout通过使用chart.update.bind(chart).

任何人都可以建议我可以将新数据传递到该图表对象的方法吗?也许使用原型方法?或者我应该创建一个全新的图表对象并重新绘制它吗?

最终,我只想要一个图表,它可以通过漂亮的动画自动更改数据,主要是出于审美目的。

var chart = new Chartist.Line('.ct-chart-main', {
  labels: ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J'],
  series: [
    [1, 4, 5, 12, 4, 3, 2, 4, 5, 1]
  ]
}, {
  low: 0,
  showArea: true,
  fullWidth: true,
  width: '600px',
  height: '250px',
  lineSmooth: Chartist.Interpolation.cardinal({
    tension: 1
  })
});

chart.on('created', function() {
  if(window.__exampleAnimateTimeout) {
    clearTimeout(window.__exampleAnimateTimeout);
    window.__exampleAnimateTimeout = null;
  }
  window.__exampleAnimateTimeout = setTimeout(chart.update.bind(chart), 5000);
});

chart.on('draw', function(data) {
    if(data.type === 'point') {
        var circle = …
Run Code Online (Sandbox Code Playgroud)

javascript charts chartist.js

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

如何使用 JavaScript 和 HTML Canvas 创建音频频谱?

好的,我知道如何使用AnalyserNode为画布设置动画。我做了一个演示,展示了我是如何实现它的。

这是我的演示-> https://codesandbox.io/s/heuristic-lovelace-bmwxo?file=/src/Visualizer.js

我想了解的是如何使其看起来与此类似 -> https://s3.us-west-1.amazonaws.com/storycreator.rendered/cka4ubx6d0dgb0114ws1rll7p?t=1590039817915

该音频频谱是在 After Effects 中使用音频频谱效果生成的。

我正在使用new Uint8Array(analyser.frequencyBinCount)音频 api 的频率反馈。AE 在幕后使用什么来创建频谱效果?在这种情况下,频谱和频率之间有区别吗?

这是 JavaScript 频率的完整代码

import React, { useEffect, useRef } from "react";

let frequencyArray = [];
let analyser;

const Visualizer = () => {
  const canvasRef = useRef(null);
  const requestRef = useRef(null);

  const handleInit = () => {
    initAudio();
    requestRef.current = requestAnimationFrame(drawCanvas);
  };

  const initAudio = () => {
    const audio = new Audio();
    audio.src =
      "https://s3.us-west-2.amazonaws.com/storycreator.uploads/ck9kpb5ss0xf90132mgf8z893?client_id=d8976b195733c213f3ead34a2d95d1c1";
    audio.crossOrigin = "anonymous";
    audio.load(); …
Run Code Online (Sandbox Code Playgroud)

javascript canvas

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