【发布时间】:2019-03-19 05:41:04
【问题描述】:
我正在尝试使用ES6 modules 构建一个不捆绑的新项目。我还是想用babel-7把TypeScript和JSX翻译成JS。我发现很难弄清楚如何为其设置开发服务器。我找不到任何与webpack-dev-server(热模块重新加载、浏览器同步、文件观察器)类似的“babel-dev-server”。
一种可能性是使用browser sync 作为静态服务器,例如dist 并并行运行 babel src --out-dir dist --watch 之类的东西。但这不包括热重载,对我来说似乎有点笨拙。此外,如果您可以为 JS 文件提供哈希以更好地控制缓存,那么它对于构建和开发步骤仍然有用。或者我可以配置一个像 webpack 这样的构建工具,使它不执行捆绑但仍然执行一些转换(比如将哈希放在导入文件名中)?
【问题讨论】:
-
你的最终目标是什么?为什么要避免使用 webpack-dev-server?如果您想要热模块重新加载等,那么这将是一个很好的工具。
-
sourcemap 能解决你的问题吗?它使您可以在浏览器上查看单独的文件。
-
@ToddChaffee 我相信由于 HTTP/2 和
import/export的原生浏览器支持,捆绑既不是最佳的也不是必需的。它对代码的更改如此之大,以至于您无法确切知道它是如何工作的,并使开发过程变得复杂(例如,我发现 webpack 和捆绑的原理真的很难向初学者理解或解释)。这就是为什么我想尝试如何在没有 webpack 的情况下生活,或者至少没有“神奇”的捆绑过程。
标签: javascript webpack babeljs es6-modules hot-reload