相关疑难解决方法(0)

使用ES6导出类(Babel)

我正在用ECMAScript 6编写一些前端代码(用BabelJS编译,然后用Browserify进行浏览),这样我就可以在一个文件中创建一个类,将其导出并导入到另一个文件中.

我这样做的方式是:

export class Game {
    constructor(settings) {

    ...

    }
}
Run Code Online (Sandbox Code Playgroud)

然后在导入我的类的文件上:

import {Game} from "../../lib/pentagine_browserified.js";
var myGame = new Game(settings);
Run Code Online (Sandbox Code Playgroud)

我然后编译它grunt,这是我的Gruntfile:

module.exports = function(grunt) {
  "use strict";

  grunt.loadNpmTasks('grunt-babel');
  grunt.loadNpmTasks('grunt-browserify');

  grunt.initConfig({
    "babel": {
      options: {

        sourceMap: false
      },
      dist: {
        files: {
          "lib/pentagine_babel.js": "lib/pentagine.js",
          "demos/helicopter_game/PlayState_babel.js": "demos/helicopter_game/PlayState.js"
        }
      }
    },

    "browserify": {
      dist: {
        files: {
          "lib/pentagine_browserified.js": "lib/pentagine_babel.js",
          "demos/helicopter_game/PlayState_browserified.js": "demos/helicopter_game/PlayState_babel.js"
        }
      }
    }
  });

  grunt.registerTask("default", ["babel", "browserify"]);
};
Run Code Online (Sandbox Code Playgroud)

但是,在new Game(通话中,我收到以下错误:

Uncaught TypeError: undefined is …
Run Code Online (Sandbox Code Playgroud)

javascript browserify gruntjs ecmascript-6 babeljs

29
推荐指数
2
解决办法
8万
查看次数

标签 统计

babeljs ×1

browserify ×1

ecmascript-6 ×1

gruntjs ×1

javascript ×1