我正在寻找一种方法来防止r.js(RequireJS'优化脚本)使用我们的JS模块来保持可读性以便进行调试.我希望脚本(顺便在Node.js上运行)有一些命令行选项可以传递.不幸的是,文档是否相当差.
我想构建一个JS函数,将一个参数列表连接到一个有效的路径(因为我无法确定路径的一部分是否带有斜杠)
这是功能:
concatPath = function() {
var path = "";
for(var i = 0; i < arguments.length; i++) {
path += arguments[i].replace("(\\|/)$|^(\\|/)", "") + "/";
}
return path;
}
Run Code Online (Sandbox Code Playgroud)
使用的RegEx匹配http://regexpal.com上的所有开始和结束斜杠和反斜杠 但功能无法正常工作(RegEx不匹配).此外,Chrome声明
SyntaxError:无效的正则表达式:/()$ | ^()/:未终止的组
当我只使用RegEx时
(\\)$|^(\\)
Run Code Online (Sandbox Code Playgroud)
但是,使用RegEx
(\\)$|^(\\)
Run Code Online (Sandbox Code Playgroud)
工作良好.
为时已晚还是我错过了一些特别的东西?
提前致谢!
狮子座
我在上传进度条正常工作时遇到了一些问题.
根据XMLHttpRequest Level 2规范,我为loadstart附加了事件监听器,并且进展如下:
var xhr = $.ajaxSettings.xhr();
xhr.upload.addEventListener('loadstart', function(e) {progressCallback(0);});
xhr.upload.addEventListener('progress', function (e) {
progressCallback(e.loaded / e.total);
});
$.ajax({
url: url,
type: 'POST',
processData: false,
contentType: false,
data: formData,
xhr: function () {
return xhr;
}
}).done(function (data) {
// Finish stuff
})
Run Code Online (Sandbox Code Playgroud)
文件已正确上传,但只有在请求以100%完成后才会调用进度监听器(e.total == e.loaded)
上面的代码有什么问题,或者是否有必要以任何特殊方式配置服务器?
到目前为止,我通过两个官方的Flux架构示例(https://github.com/facebook/flux)进行了彻底的工作.
但是,我真的不确定在初始数据渲染后如何完成数据更改.
例如,想象一下由于服务器响应,示例中的todo项目发生了变化,如何在不使用item组件中的setProps()的情况下正确更新相应项目(实际上,据我所知,禁止) ?
这可能更多与React相关的误解 - 期待您的建议!
javascript ×4
jquery ×1
optimization ×1
progress ×1
r.js ×1
reactjs ×1
reactjs-flux ×1
regex ×1
requirejs ×1
uglifyjs ×1
upload ×1