它工作正常然后我从apache切换回gulp服务我在正则表达式替换中的page.js中有一个未定义的错误
if (window.location.port ==='') {
page.base(app.baseUrl.replace(/\$/, ''));
}
因为app.baseUrl是''。代码未经编辑但是baseurl由于某种原因现在没有“/”。一旦我运行gulp服务就会出现错误。 webcomponents已经触发并在routing.html中被捕获。它在这里调用page.js时会中断:
page(app.baseUrl, function() {
app.route = 'home';
});
首先,如果网址中没有斜线,不应该不破坏吗?第二,当你使用gulp服务时,是什么决定了基础?
more routing.html
window.addEventListener('WebComponentsReady', function() {
// We use Page.js for routing. This is a Micro
// client-side router inspired by the Express router
// More info: https://visionmedia.github.io/page.js/
// Removes end / from app.baseUrl which page.base requires for production
if (window.location.port === '') { // if production
page.base(app.baseUrl.replace(/\/$/, ''));
}
// Middleware
function scrollToTop(ctx, next) {
app.scrollPageToTop();
next();
}
function closeDrawer(ctx, next) {
app.closeDrawer();
next();
}
// Routes
page('*', scrollToTop, closeDrawer, function(ctx, next) {
next();
});
page('/', function() {
app.route = 'home';
});
page(app.baseUrl, function() {
app.route = 'home';
});
page('/users', function() {
app.route = 'users';
});
page('/users/:name', function(data) {
app.route = 'user-info';
app.params = data.params;
});
page('/contact', function() {
app.route = 'contact';
});
// 404
page('*', function() {
app.$.toast.text = 'Can\'t find: ' + window.location.href + '. Redirected you to Home Page';
app.$.toast.show();
page.redirect(app.baseUrl);
});
// add #! before urls
page({
hashbang: true
});
});
答案 0 :(得分:0)
以下代码段用于生产模式,并对其进行评论,除非您托管rapp,否则不会影响您的代码
// Removes end / from app.baseUrl which page.base requires for production
if (window.location.port === '') { // if production
page.base(app.baseUrl.replace(/\/$/, ''));
}
答案 1 :(得分:0)
更新到最新版本。 PSK 1.3.0工作正常。在我更新之前,我遇到了同样的问题。