【问题标题】:How to include classes from seperate file in Javascript?如何在Javascript中包含来自单独文件的类?
【发布时间】:2020-03-16 15:01:18
【问题描述】:

我目前在一个目录中有一个hero.js 文件,它看起来像这样

let Person = class PersonClass {
    constructor(name) {

        ...

class Hero {
    constructor(name, level) {

        ...

class Mage extends Hero {
    constructor(name, level, spell) {

        ...

然后在另一个文件中,我想使用这些类。

所以我有:

require("./hero");

const manny = new Hero("Manny", 12);
const george = new Person("George");

George 和 manny 都没有工作,他们都扔了Reference Error: Person/Hero is not defined

当我在 george 和 manny 上面的文件中有 Person 或 Hero 类代码时,它们确实可以正常工作。

我想知道如何将类定义移动到另一个文件中并require 将它们移动到另一个文件中。

【问题讨论】:

  • 什么环境:浏览器或类似节点的东西?在浏览器中,您只需要确保英雄脚本在其他脚本之前包含在页面中,并且类定义为全局或某些可访问范围。不需要require。
  • 尝试查看不同的语法(CommonJS vs ES6)-stackoverflow.com/questions/40294870/…

标签: javascript object import export require


【解决方案1】:

这很简单。你应该使用export

let Person = class PersonClass {
    constructor(name) {

        ...

class Hero {
    constructor(name, level) {

        ...

class Mage extends Hero {
    constructor(name, level, spell) {


export const Person
export const Hero
export const Mage

在另一个文件中,

import {Person, Hero, Mage} from './hero'

【讨论】:

  • Giorgi,我尝试将您的建议放入并遇到问题``` import {Person, Hero, Mage} from './hero' ^ SyntaxError: Unexpected token { ```跨度>
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-08-04
  • 2011-10-23
  • 2010-11-06
  • 1970-01-01
  • 2011-06-30
  • 2020-09-18
相关资源
最近更新 更多