我正在努力让browser-sync使用我的多重wordpress安装,以实现更简单的移动/响应式开发。
目前我遇到了问题,我的正常开发发生在local.example.com
,浏览器同步正在代理此问题(通过123.456.78.9:3202
,根据浏览器同步)。
到目前为止,浏览器同步加载了网站,但我的脚本或CSS都没有加载(尽管图像加载正常)。他们在网络面板中没有响应而失败。
我使用NGINX来托管网站,而不是apache。
有没有人有任何wordpress浏览器同步体验?我错过了浏览器同步设置的内容吗?对此的提示将非常受欢迎。我很乐意将此作为我工作流程的重要组成部分。
答案 0 :(得分:1)
问题在于wordpress如何处理URL,因为它通常使用完整的URL来包含内容和链接等。
代理正试图在另一个域上访问这些,这就是它失败的原因。
<强>更新强> 一个简单,清洁和可维护的策略,也有助于开发环境,是使用Root Relative URLs plugin。添加类似于下面的钩子和配置,但也更新你的内容和编辑器以应用相同的结构,所以它更健壮
原始答案 您可以添加一个简单的钩子(来源:wordpress relative urls)来过滤wordpress生成的URL并删除基域,以便获得样式和帖子等的相对链接:
$relative_url_filters = array(
'script_loader_src', //js
'style_loader_src', //css
'post_link', // Normal post link
'post_type_link', // Custom post type link
'page_link', // Page link
'attachment_link', // Attachment link
'get_shortlink', // Shortlink
'post_type_archive_link', // Post type archive link
'get_pagenum_link', // Paginated link
'get_comments_pagenum_link', // Paginated comment link
'term_link', // Term link, including category, tag
'search_link', // Search link
'day_link', // Date archive link
'month_link',
'year_link'
);
foreach ( $relative_url_filters as $relative_url_filters ) {
add_filter( $relative_url_filters, 'wp_make_link_relative' );
}
哪个应该清理你的大多数问题并使浏览器同步工作得很好。
我仍然遇到一些问题,我对图像有更复杂的内容,但是它或多或少都在工作,我们已经看到它有多酷了!