小编JPo*_*ock的帖子

带有静态HTML的Node + Express.如何将所有请求路由到index.html?

我正在使用Node + Express和Handlebars进行模板化的单页Web应用程序.目前一切都运行良好,从index.html,从一个非常标准的server.js文件提供:

var express = require('express');

var server = express();
server.use(express.static(__dirname + '/public'));

var port = 10001;
server.listen(port, function() {
    console.log('server listening on port ' + port);
});
Run Code Online (Sandbox Code Playgroud)

加载时,这非常有效http://localhost:10001/.我的问题是我在应用程序中使用推送状态,因此浏览器可能会显示类似的URL http://localhost:10001/foo/bar,然后如果我刷新页面,我会收到错误,Cannot GET /foo/bar因为没有此路径.

所以我的问题,请原谅我在Node上的令人难以置信的无声,我可以这样做所有请求路由到index.html吗?我的应用中的JavaScript可以根据页面加载时的URL参数显示正确的内容.我不想定义自定义路由,因为数字会很大,并且它们的路径可以动态更改.

javascript node.js express

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

如何在VueJS中监听所有自定义事件?

在我的VueJS应用中,我有一个Vue实例用作事件总线,用于在组件之间发送数据。

就是这样:

import Vue from 'vue';
export const EventBus = new Vue();
Run Code Online (Sandbox Code Playgroud)

然后,导入我的EventBus EventBus.$emit()EventBus.$on()在我的组件中使用它。

此处说明了这种方法:https : //alligator.io/vuejs/global-event-bus/

我想做的就是监听通过EventBus发送的任何事件。如果我可以将一个侦听器绑定到所有事件,则可以将其用于日志记录或将数据馈送到开发环境的某个系统中,该系统可以在进入eventBus时向我显示所有数据,这将非常有用。

有什么vm.$listenToEverything()我想念的东西或者某种使这项工作可行的方法吗?

javascript vue.js vuejs2

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

PHP Composer 是否有相当于 npm 链接的东西?

当我开发 JavaScript 模块时,我可以使用npm link在使用该模块作为依赖项的本地项目中安装我的本地开发版本。这是一个很棒的工作流程。

它不是就地开发,我认为这不如 TDD 好,但我认为它是进行集成测试和手动 QA 的一种更简单的方法。

在 Composer 中,如果可能的话,我可以强制使用 git 安装软件包,这样我就可以就地开发。不错,但不是很好。

问题的简短版本:我可以告诉 Composer 从本地文件系统中的 git 存储库/文件集临时安装依赖项,并从 Composer CLI 控制链接吗?

php dependency-management npm composer-php npm-link

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

Gulp - 缩小JS并写入同一目的地

我目前正在重构一个项目,以前所有缩小的JavaScript文件都放在一个特定的目录中.现在我需要将缩小版本保留在与其源文件相同的目录中.

目前我这样做:

gulp.task( 'scripts', function () {
    return gulp.src( source_paths.scripts )
        .pipe( uglify( {
            preserveComments: 'false'
        } ) )
        .pipe( rename( {suffix: ".min"} ) )
        .pipe( gulp.dest( './build/js' ) )
        .pipe( notify( {
            message: 'Scripts task complete!',
            onLast : true
        } ) );

} );
Run Code Online (Sandbox Code Playgroud)

这有效,除了它移动我的文件.我试图改变我的使用gulp.dest().pipe( gulp.dest( '' ) )以及刚刚删除该行.在这两种情况下都没有编写缩小的JS,我非常难过.

如何将所有文件写入与源文件相同的目录?

javascript node.js gulp gulp-uglify

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

如何初始化基础3使用轨道?

我正在尝试使用我在此问题中找到的脚本在Foundation 3中运行Orbit,但我无法正确初始化它.我在页脚中添加了此脚本,在标题中添加了Foundation.min.js.我在我的控制台的第3行得到一个没有方法'基础'错误它不起作用.

jquery zurb-foundation orbit

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

javascript 如何检查 URL 是否与当前页面同源?

如何检查特定 URL 字符串是否来自与当前页面相同的来源/主机?例如,如果我想绑定到链接,但仅防止默认链接到同一主机...

javascript url

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

手动设置当前电流时,useRef()挂钩应使用哪种打字稿类型?

我如何使用带有Typescript的React ref作为可变实例?当前属性似乎被键入为只读。

我正在使用React + Typescript开发一个库,该库与React不会渲染的输入字段进行交互。我想捕获对HTML元素的引用,然后将React事件绑定到它。

  const inputRef = useRef<HTMLInputElement>();
  const { elementId, handler } = props;

  // Bind change handler on mount/ unmount
  useEffect(() => {
    inputRef.current = document.getElementById(elementId);
    if (inputRef.current === null) {
      throw new Exception(`Input with ID attribute ${elementId} not found`);
    }
    handler(inputRef.current.value);

    const callback = debounce((e) => {
      eventHandler(e, handler);
    }, 200);

    inputRef.current.addEventListener('keypress', callback, true);

    return () => {
      inputRef.current.removeEventListener('keypress', callback, true);
    };
  });
Run Code Online (Sandbox Code Playgroud)

它生成编译器错误: semantic error TS2540: Cannot assign to 'current' because it is a read-only …

typescript reactjs react-hooks

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

如何在Foundation 4中禁用Orbit计时器?

我在基础4中使用Orbit并且想完全禁用计时器功能,因此幻灯片只能由用户手动提前.这可能吗?

jquery slider zurb-foundation orbit

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

如何通过jQuery关闭Foundation中扩展的移动顶部栏?

我想知道是否有一些关闭基金会的扩展顶杆在点击其中一个项目?我想我正在寻找一些东西放在这个中心:

$('#some-menu-item').click(function() {
    //some function to collapse the menu
});
Run Code Online (Sandbox Code Playgroud)

jquery menu menubar zurb-foundation

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

如何在jQuery中定位一个容器,该容器不是具有特定类的容器的子容器?

假设我有这个HTML:

<div>
    <div class="bar">
    </div>
</div>
<div class="foo">
    <div class="bar">
    </div>
Run Code Online (Sandbox Code Playgroud)

我需要使用类栏来定位容器,这不是具有类foo的容器的子项,而只留下foo的子项.因为我所针对的实例是由第三方脚本创建的,所以我不能只为它的包装器添加一个类.

无论如何使用JavaScript/jQuery做到这一点?

javascript jquery

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