ES6进口:我们可以让这个失败吗?从“react”导入React,{BadKey};

时间:2016-02-17 16:55:57

标签: ecmascript-6 webpack babeljs

我希望我的导入更快失败。如果有人试图导入不存在的东西,我希望我的构建过程失败。

对于默认导入,它似乎工作正常,因为以下将失败:

import Something from "doesNotExist";

但是如果我导入现有模块的属性,它不会失败:

import React, {BadKey} from "react";

默认情况下如何让它失败?

我正在使用Webpack / Babel5 / NPM 2.14

2 个答案:

答案 0 :(得分:1)

使用像Typescript这样的强类型语言,在这种情况下会出错。我们实际上已经开始消除所有默认的导出和导入,因为import { Thing }可用的名称检查非常有帮助。

答案 1 :(得分:1)

如果您已经在使用Webpack,eslint-loader是在构建过程中与ESLint集成的一种方式。

但是,在模块构建期间,Webpack可能会有一些隐秘的错误,因此请注意自述文件底部的bail

另外,考虑使用Webpack的true标志(设置为echo 'var map=new google.maps.Map(document.getElementById("googleMap"),mapProp);'; ),一旦遇到模块错误,就放弃构建。 IIRC默认的Webpack行为只是在发出的包中省略了错误的模块,并在控制台中有一个注释,这将导致运行时错误(模块丢失)。