使用webpack和babel转码es6文件

时间:2017-09-21 07:18:08

标签: webpack ecmascript-6 sequelize.js babel koa

我在网络应用程序中使用koa2,以便进行学习。我使用webpack和babel-loader配置了开发环境,以便我可以编写es6代码。

我使用sequelize作为ORM,我想加载目录/模型下的所有文件并初始化我的数据库。这是代码

fs
  .readdirSync('/Users/zhangfeng/develop/github-ac/models')
  .filter((file) => {
    return (file.indexOf('.') !== 0) && (file !== 'index.js');
  })
  .forEach((file) => {
    let model = sequelize.import(path.join('/Users/zhangfeng/develop/github-ac/models', file));
    models[model.name] = model;
  });

因为我运行构建的代码node build/bundle.js,所以我可以使用绝对路径,这是有效的。如果有更优雅的方式,请告诉我:)

虽然这不是主要问题,但我写了模型inn es6语法,它抛出了unexpected token之类的错误,因为我在es6中使用了export default,下面是示例代码。

export default (sequelize, DataTypes) => {
  return sequelize.define('user', {
    iNumber: {
      type: DataTypes.STRING
    },
    name: {
      type: DataTypes.STRING
    }
  })
}

这意味着models /目录下的文件没有转码,我知道这是因为我没有在任何地方导入它们。现在我必须在es5中使用module.exports = blabla来使代码正常工作,而这并没有真正解决我的问题。所以我想知道如何使用webpack自动转码它们,或者如何在代码中动态导入它们。

0 个答案:

没有答案