加载Markdown时奇怪的Requirejs行为

詹姆

我有一个requirejs要加载模块markdownjs这是文件:

define(function(require) {
  'use strict';

  var Backbone = require('backbone');
  var blogCollectionTemplate = require('hbs!app.templates/blog.collection.view');
  var BlogModelView = require('views/blog.item.view');
  var markdown = require('markdown');

  var BlogCollectionView = Backbone.View.extend({
    template: blogCollectionTemplate,

    initialize: function() {
      debugger;
    },

    render: function() {
      this.$el.html(this.template());
      this.renderAll();
      return this;
    },

    renderAll: function() {
      var that = this;
      this.collection.each(function(blog) {
        that.renderItem(new BlogModelView({model: blog}));
      });
    },

    renderItem: function(blog) {
      this.$el.find('#blog-posts').append(blog.render(blog).el);
    }
  });

  return BlogCollectionView;
});

这是我的require.config

define(function() {

  require.config({
    hbs : {
      templateExtension : 'hbs',
      disableHelpers: true,
      disableI18n : true
    },

    shim: {
      'backbone': {
        deps: [
          'underscore',
          'jquery'
        ],
        exports: 'Backbone'
      },
      bootstrap: {
        deps: [ 'jquery' ]
      },
      DlHighlight: {
        exports: 'DlHighlight'
      },
      'jqueryMockAjax': {
        exports: '$.mockjax',
        deps: ['jquery']
      },
      json2 : {
        exports: "JSON"
      },
      'underscore': {
        exports: '_'
      }
    },

    paths: {

      backbone: 'libs/backbone/backbone',
      bootstrap: 'libs/bootstrap/dist/js/bootstrap',
      DlHighlight: 'libs/hl/hl-all',
      highlight: 'libs/highlightjs/highlight.pack',
      jquery: 'libs/jquery/jquery',
      jqueryMockAjax: 'libs/jquery-mockjax/jquery.mockjax',
      markdown: 'libs/markdown/lib/markdown',
      text: 'libs/text/text',
      underscore: 'libs/underscore/underscore',

      hbs: 'libs/hbs/hbs',
      handlebars: 'libs/hbs/Handlebars',
      i18nprecompile: 'libs/hbs/hbs/i18nprecompile',
      json2 : 'libs/hbs/hbs/json2',

      'app.templates': '../templates/'
    }
  });
});

这是奇怪的行为。在我的程序中initialize,当我点击调试器时,我可以访问markdown已导入对象,但是如果尝试使用该markdown对象,则它始终为undefined如果我把markdowninitialize或的一个render方法,该markdown变量undefined这没有任何意义,但是有一些我不了解的行为requirejs有任何想法吗?

路易

阅读了markdown-js的Bower安装代码之后,我发现Bower安装的内容不能按原样与RequireJS一起使用。尝试添加此垫片:

"markdown": {
    exports: "markdown"
}

至于为什么您markdown无需调试程序就能在调试器中获得价值,我相信您是从全局范围中获得的(也许没有意识到)。Markdown-js在加载时将自身安装到全局范围内(window.markdown然后可以访问该域,就像markdown没有其他变量对其进行访问一样)。这是推测,但符合事实。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在IOS的Webview中加载URL时的奇怪行为

来自分类Dev

使用markdown渲染vtiger文本字段时的奇怪行为:错误的项目列表缩进

来自分类Dev

排序CMFCListCtrl时的奇怪行为

来自分类Dev

FBSession登录时的奇怪行为

来自分类Dev

从SharedPreferences读取时的奇怪行为

来自分类Dev

比较数字时的奇怪行为

来自分类Dev

更新矩阵时的奇怪行为

来自分类Dev

查询Solr时的奇怪行为

来自分类Dev

Micropython - 粘贴时的奇怪行为

来自分类Dev

使用 malloc 时的奇怪行为

来自分类Dev

抓取时硒的奇怪行为

来自分类Dev

$ routeChangeSuccess的奇怪行为:首次加载时未触发(但未引发任何错误)

来自分类Dev

重新加载动态tableView中包含textFields的单元格时的奇怪行为

来自分类Dev

<script>动态脚本加载问题-奇怪的行为

来自分类Dev

Delphi:使用LoadLibrary加载DLL的奇怪行为

来自分类Dev

在使用RequireJS加载时如何定义“ define”?

来自分类Dev

Requirejs:仅在需要时加载依赖项

来自分类Dev

从python中的列表继承时的奇怪行为

来自分类Dev

UITableView滚动时奇怪的布局行为更改

来自分类Dev

返回选项时mapValues中的奇怪行为

来自分类Dev

尝试模拟重力时奇怪的行为

来自分类Dev

不关闭休眠会话时的奇怪行为

来自分类Dev

Perl在解浮值时的奇怪行为

来自分类Dev

检查Alloy中的断言时的奇怪行为

来自分类Dev

通过NSSecureCoding解码NSArray时的奇怪行为

来自分类Dev

创建新的Date实例时的奇怪行为

来自分类Dev

使用GDB调试Go时的奇怪行为

来自分类Dev

在LowerCamelCase中命名变量时的奇怪行为

来自分类Dev

从R中的stdin读取时的奇怪行为