我是一个非常大的ReactJ项目的新手。最重要的是,它确实具有通常的 webpack.config.js
,而只有`webpack.config.babel.js'。在运行
> webpack
被调用(通过 npm run
with node_env = development = webpack_config =server_dev²,但这并不重要)。
为什么这样?
a)如果我删除了那个babel-config,我会得到一个正确的抱怨,即:
当前的配置文件可以命名 目录。
b)如果相反,我添加了自己的几乎没有的 webpack.config.js
,那确实是"规则"(不再使用webpack.config.babel.js
)。
因此,显然,如果缺少此文件,则有一个默认的webpack.config.js
。再次显然?,这种默认配置以某种方式适合WebPack-configuration?通过什么方式?由于安装了这些节点模块吗?
或.babelrc
WebPack的标记文件?
有趣的是,这个项目preact-www
项目具有相同的内容。(也不是原始的Webpack配置,但webpack风味)。所以他们知道一些东西,我不...
webpack使用 interpret
加载配置文件。它使用Basename webpack.config
或webpackfile
获取第一个文件,并且任何扩展名interpret
都知道。此外,它给出了.js
文件的优先级。
找到配置后,IT注册对应的编译器并需要配置。特别是在.babel.js
的情况下,它试图一个接一个地要求这三个模块,直到找到其中一个模块。如果成功,babel
基本上会挂在需要文件中。
tl; dr;
在WebPack版本3中,您可以使用 webpack.config.babel.js
而不是w/o'.babel
'的同一件事,然后很乐意将ES6放入其中(Fancier import
语句,const等...)立即将其放在其中。<<<<<<<<<<<<<<
假设,此功能并未证明过多。
让我与您分享我的(含糊)研究:
根据这个鲜为人知的答案,Babel使用解释哪些"需要配置文件的依赖项"。
显然没有,WebPack无法在您的WebPack.config文件中使用ES6作为JavaScript。(并且由于最需要WebPack,要将ES6转换为ES5,因此您将有一个hen and-egg问题,如果WebPack将自己配置为需要一些webpack transpilation ...))
)许多项目,包括受欢迎的项目,这样做:
- 没有
webpack.config.js
- 使用包含ES6的
webpack.config.babel.js
(Telltale符号:import
),然后立即...
因此,这似乎是ES6 WebPack配置文件的最佳实践,然后?似乎是如此,尽管我在WebPack文档中找不到,除了简短的功能讨论。
。 btw:至少在当今已提到的interpret
软件包已经带有WebPack 3.x。无需安装任何内容:
/depot/own/webpacktest $ npm ls interpret
webpacktest@1.0.0 /depot/own/webpacktest
└─┬ webpack@3.5.6
└── interpret@1.0.3