我有一个骨干木偶应用程序路由问题让我发疯。 我为我拥有的每个模块设置了Marionette.AppRouter。 只要 url 只有一个组件,路由就可以正常工作。 当我们有第二个"目录"甚至 :id 时,我在浏览器中收到索引中包含的每个文件的语法错误.html..包括索引本身.html。
例如我的应用程序/文章工作正常。 myapp/articles/78给了我问题。 我什至测试了在路由器中创建两个应用程序路由......"文章"和"文章/某物"。 我可以去http://myapp
或http://myapp/article
但http://myapp.article/something
给出了语法并且从不处理任何内容。
我在下面的article_app.js显示试图让文章/:id工作..但是每次都失败,并在所有这些下面发布错误
azBest.module("ArticleApp",function(ArticleApp, azBest, Backbone, Marionette, $, _) {
ArticleApp.Router = Marionette.AppRouter.extend({
appRoutes: {
"article": "returnToResultsPage",
"article/:id": "test"
},
});
var API = {
test: function(id) {
console.log("testing...id:" + id);
azBest.trigger("storefront:show");
},
returnToResultsPage: function() {
azBest.trigger("storefront:show");
}
};
azBest.on("article:show", function(model) {
Backbone.history.navigate("article/"+model.get("articleid"));
azBest.ArticleApp.Show.Controller.showArticle(model);
});
azBest.addInitializer(function(){
new ArticleApp.Router({
controller: API
});
});
});
从火狐的控制台捕获。
语法错误:语法错误
78(276行)语法错误:语法错误
json2.js(第 1 行)语法错误:语法错误
下....最小.js(第 1 行)语法错误:语法错误
背波....最小.js(第 1 行)语法错误:语法错误
马里恩。。。。最小.js(第 1 行)语法错误:语法错误
spin.min.js(第 1 行)语法错误:语法错误
spin.jquery.js (第 1 行)语法错误:语法错误
jquery...-min.js (第 1 行)语法错误:语法错误
应用程序.js(第 1 行)语法错误:语法错误
storefront_app.js(1号线)语法错误:语法错误
results_app.js(第 1 行)语法错误:语法错误
article_app.js(第 1 行)语法错误:语法错误
视图.js(第 1 行)语法错误:语法错误
特色项目.js(第 1 行)语法错误:语法错误
热门项目.js(第 1 行)语法错误:语法错误
广告.js(第 1 行)语法错误:语法错误
文章.js(第 1 行)语法错误:语法错误
list_view.js(1号线)语法错误:语法错误
list_c...勒.js(第 1 行)语法错误:语法错误
show_view.js(1号线)语法错误:语法错误
show_c...勒.js(第 1 行)语法错误:语法错误
show_view.js(1号线)语法错误:语法错误
show_c...勒.js(第 1 行)语法错误:语法错误
show_view.js(1号线)语法错误:语法错误
show_c...勒.js(第 1 行)语法错误:语法错误
show_view.js(1号线)语法错误:语法错误
show_c...勒.js(第 1 行)语法错误:语法错误
list_view.js(1号线)语法错误:语法错误
list_c...勒.js(第 1 行)语法错误:语法错误
show_view.js(1号线)语法错误:语法错误
show_c...勒.js(第 1 行)引用错误: 未定义 azBest
azBest.start();78(276行)
我不知道是什么导致了语法错误。 除了第一个和最后一个错误之外的每个错误似乎都指向<!DOCTYPE html>
我想出了问题...
当 apache 重写完成它的事情时,它会更改基础,因此无法正确找到我包含的脚本。
为了解决这个问题,我将我的htdocs更改为:
RewriteEngine On
Options +FollowSymLinks
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !index
RewriteRule (.*) index.html [L,QSA]
我还将包含的脚本更改为相对的,并添加到索引的头部.html。