首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >主干/木偶根布局错误与Webpack

主干/木偶根布局错误与Webpack
EN

Stack Overflow用户
提问于 2016-07-31 12:29:26
回答 1查看 144关注 0票数 1

我有一个用RequireJS开发的Backbone/Marionette应用程序,我正在努力将它转换为Webpack。Webpack很好地打包了我的代码,但是当我试图加载打包的JS时,它遇到了一个错误,布局的DOM无法找到其中一个核心区域。错误消息是"An "el“#内容必须存在于DOM中”。

下面是我的源码的一个存根版本:

HTML:

代码语言:javascript
复制
<!DOCTYPE HTML>
<html lang="en">
    <head>
        <script type="text/javascript" src="/public/app/bundle.js"></script>
    </head>
    <body>
        <div id="content" class="content"></div>
    </body>
</html>

JS:

代码语言:javascript
复制
var RootLayout = Marionette.View.extend({
    el: 'body',

    regions: {
        content: '#content'
    }
});

new RootLayout().getRegion('content').show(someView);

我目前正在使用Marionette v3.0.0-pre.3,但在切换到Webpack之前没有任何问题-这可能是相关的,也可能是无关的。关于我如何解决这个问题的想法?

谢谢

EN

回答 1

Stack Overflow用户

发布于 2016-08-01 00:16:01

事实证明,我对init.js文件所做的一个更改以某种方式导致了这个问题。我使用嵌套的要求以正确的顺序加载和依赖项,并且我改变了它的工作方式来改变块的输出。恢复该更改解决了问题。

编辑:我已经在转换我的应用程序的道路上走得更远了-因为它是在节点服务器上运行的,我决定将我所有的RequireJS模块定义转换成CommonJS,这个问题再次出现了它丑陋的头。在用头撞墙几个小时后,我意识到问题是我的视图在它所在的HTML元素实际加载之前就被附加到了DOM上。在我的初始化代码周围使用一个简单的$(document).ready包装器才是真正的解决方案(实际上我只是将我的webpack捆绑包的脚本标记移到了HTML的底部)。

dr- RequireJS让你不必在开始摆弄DOM之前确保它已经准备好了,而CommonJS却没有。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38680745

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档