我正在使用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参数显示正确的内容.我不想定义自定义路由,因为数字会很大,并且它们的路径可以动态更改.
在我的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 模块时,我可以使用npm link在使用该模块作为依赖项的本地项目中安装我的本地开发版本。这是一个很棒的工作流程。
它不是就地开发,我认为这不如 TDD 好,但我认为它是进行集成测试和手动 QA 的一种更简单的方法。
在 Composer 中,如果可能的话,我可以强制使用 git 安装软件包,这样我就可以就地开发。不错,但不是很好。
问题的简短版本:我可以告诉 Composer 从本地文件系统中的 git 存储库/文件集临时安装依赖项,并从 Composer CLI 控制链接吗?
我目前正在重构一个项目,以前所有缩小的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,我非常难过.
如何将所有文件写入与源文件相同的目录?
我正在尝试使用我在此问题中找到的脚本在Foundation 3中运行Orbit,但我无法正确初始化它.我在页脚中添加了此脚本,在标题中添加了Foundation.min.js.我在我的控制台的第3行得到一个没有方法'基础'错误它不起作用.
如何检查特定 URL 字符串是否来自与当前页面相同的来源/主机?例如,如果我想绑定到链接,但仅防止默认链接到同一主机...
我如何使用带有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 …
我在基础4中使用Orbit并且想完全禁用计时器功能,因此幻灯片只能由用户手动提前.这可能吗?
我想知道是否有一些关闭基金会的扩展顶杆在点击其中一个项目?我想我正在寻找一些东西放在这个中心:
$('#some-menu-item').click(function() {
//some function to collapse the menu
});
Run Code Online (Sandbox Code Playgroud) 假设我有这个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 ×5
jquery ×4
node.js ×2
orbit ×2
composer-php ×1
express ×1
gulp ×1
gulp-uglify ×1
menu ×1
menubar ×1
npm ×1
npm-link ×1
php ×1
react-hooks ×1
reactjs ×1
slider ×1
typescript ×1
url ×1
vue.js ×1
vuejs2 ×1