【问题标题】:Trouble linking form2js file to project with require.js使用 require.js 将 form2js 文件链接到项目时遇到问题
【发布时间】:2015-06-17 19:40:50
【问题描述】:

我想使用form2js 将表单的信息转换为json 以发布。问题是,我正在使用的框架使用 require.js 并且似乎我没有将 form2js 文件与 requirejs 配置正确链接。我得到一个

Uncaught ReferenceError: form2js is not defined

错误。

form2js 是 form2js.js 文件中的一个函数。

这里是配置文件:

 require.config({
  baseUrl: "assets/js/lib/"
  , shim: {
    'backbone': {
      deps: ['underscore', 'jquery'],
      exports: 'Backbone'
    },
    'underscore': {
      exports: '_'
    },
    'bootstrap': {
      deps: ['jquery'],
      exports: '$.fn.popover'
    },
    'form2js': {
      exports: 'form2js'
    }
  }
  , paths: {
    app         : ".."
    , collections : "../collections"
    , data        : "../data"
    , models      : "../models"
    , helper      : "../helper"
    , templates   : "../templates"
    , views       : "../views"
  }
});
require([ 'app/app'], function(app){
  app.initialize();
});

在主 html 页面中我运行这个:

<script data-main="assets/js/main.js" src="assets/js/lib/require.js" ></script>

非常感谢任何有关正确资源的指导!

【问题讨论】:

    标签: javascript requirejs referenceerror form2js.js


    【解决方案1】:

    在 require.config 中包含 form2js 只是告诉它在哪里可以找到 form2js 模块(以及其他信息,例如它的依赖项等)

    要实际加载您拥有的 form2.js(并因此定义 form2js 全局),您必须将其列为您使用它的模块中的依赖项。

    例如,假设您的 initialize() 函数使用它,您的最后一条语句将是

    require([ 'app/app', 'form2js' ], function(app){
      app.initialize();
    });
    

    注意 - 如果 app/app.js 使用 form2js,您必须将它包含在该模块的定义中。您可能还想检查(在您的浏览器开发人员工具网络选项卡中是否实际加载了 form2.js,一旦您将其列为某处的依赖项)

    【讨论】:

      猜你喜欢
      • 2012-12-26
      • 1970-01-01
      • 2011-07-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-06-26
      相关资源
      最近更新 更多