聚合物入门套件1.2.2由于正则表达式替换而导致负载中断

时间:2016-01-28 19:19:55

标签: polymer polymer-1.0

它工作正常然后我从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
});

});

2 个答案:

答案 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工作正常。在我更新之前,我遇到了同样的问题。