javascript - 由于导入顺序,Backbone View 不是 Webpack 中的构造函数错误

标签 javascript backbone.js webpack

我在 1 个文件中有一个主干 View ,我试图在另一个“入口”文件中实例化它。输出文件使用 Webpack 捆绑,入口文件首先加载到输出文件中,在 View 代码之前。像这样:

index.js:

import $ from 'jquery';
import { Book } from './views/Book';

$(document).ready(function () {
  new Book();
});

Book.js

import Backbone from 'backbone';

const Book = Backbone.View.extend({
  tagName: 'li',

  template: _.template('<%= name %>'),

  render: function () {
    this.$el.html(this.template(this.model.toJSON()));
    return this;
  }
});

export default Book;

在运行项目时,我在控制台中收到此错误:

TypeError: __WEBPACK_IMPORTED_MODULE_1__views_Book__.Book is not a constructor
    at HTMLDocument.<anonymous> 
index.js:5 Uncaught TypeError: __WEBPACK_IMPORTED_MODULE_1__views_Book__.Book is not a constructor

运行 webpack 时,我收到此警告:

WARNING in ./js/index.js
5:6-10 "export 'Book' was not found in './views/Book'

我看到一些关于循环依赖的帖子,但不认为这是问题所在。有人可以帮忙吗?谢谢!

最佳答案

如果你使用

export default Book

那么你需要这样加载

import Book from './views/Book';

export Book

将与

一起工作
import { Book } from './views/Book';

关于javascript - 由于导入顺序,Backbone View 不是 Webpack 中的构造函数错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45900468/

相关文章:

javascript - 在 Sinon.js spy 上调用的测试方法

javascript - 创建新模型时将模型 url 与集合 url 关联

javascript - 如何将 npm 包与 webpack 捆绑在一起并作为对象公开?

webpack - vuejs : vue-cli webpack template cannot resolve sass imports

javascript - 使用javascript将文件下载为.csv文件

javascript - 在 Firefox : "AccessControlException" 中使用 requires.js 加载文本文件失败

javascript - 检查表单字段

angularjs - ClojureScript 的客户端 MVC 框架

javascript - 主干内联 HTML 模板与外部模板

reactjs - webpack 生产构建无法正常工作