在使用Webpack时,是否可以在Eslint(2.0)运行之前运行特定的Babel(6)插件?

时间:2016-03-01 08:52:39

标签: ecmascript-6 webpack babeljs eslint

标题几乎涵盖了我的问题,但我基本上想要的是

  1. 运行特定的babel插件以将我的es6 import语句转换为适当的路径
  2. Eslint会告诉我我的代码是否存在问题,包括是否有任何无法解析的路径
  3. 其余的babel运行将我的代码从es6转换为es5
  4. 完整
  5. 这可行吗?

    更新

    我正在使用https://github.com/michaelzoidl/babel-root-import

    [CompositeIndex(true, nameof(NetworkPart1), nameof(NetworkPart2))] public class NetworkPart { [Required] [Index] public Guid NetworkId { get; set; } [Required] public string NetworkPart1 { get; set; } [Required] public string NetworkPart2 { get; set; } }

    在我的webpack配置中,我有一个babel加载器和一个像这样的装箱装载器

    //.babelrc { ..., "plugins": [["babel-root-import", { "rootPathSuffix": "./src" }]], ... }

    然后,我可以使用类似

    的语法导入模块

    //webpack.config.dev.js module: { loaders: [{ test: /\.js$/, loaders: ['babel', 'eslint'], include: path.join(__dirname, 'src'), exclude: /node_modules/ }, ... }

    而不是

    import Module from '~/components/Module'

1 个答案:

答案 0 :(得分:1)

ESLint直接从文件系统“按原样”验证文件,无需任何额外的预处理。对于您的情况,您可以创建自定义的eslint规则,该规则可以理解您处理的路径并可以检查它们。

作为其他选项,您可以使用您的路径处理器调用Babel启用的唯一插件,使用eslint检查结果,然后使用其余插件再次运行babel将代码转换为es5。但对我来说,第一种方式似乎更容易和更好。

P.S。如果你告诉你实际转换的路径是什么,也许我可以添加一些东西。