【问题标题】:Quick way to write JavaScript that requires babel and run it?编写需要 babel 并运行它的 JavaScript 的快速方法?
【发布时间】:2019-03-20 22:33:21
【问题描述】:

我想编写一个 JavaScript 示例并运行它,看看它是如何工作的。

示例代码可能需要浏览器,但并非总是如此。我对两种解决方案持开放态度,一种适用于 NodeJS,另一种适用于基于浏览器的代码。在浏览器中,我使用带有 class 的 React 和其他 ES6 语法,包括 node 或 node --harmony 不(还)直接支持的导入/导出。

在 Python、Java/Groovy、C/C++、C# 等中,我可以只运行一个命令来编译文件,然后运行可执行文件(或只解释代码),所以我正在寻找类似的东西JavaScript。

从概念上讲,我想说:

dotranspile --out bundle.js main.js
node bundle.js  (or firefox index.html, which loads bundle.js)

关键是我不想在每个目录中都创建一个 webpack 配置文件。我以为有一天搜索的时候找到了这样的命令,但现在找不到了。

当需要 babel/transpiling 时,其他人如何运行 javascript 示例程序?我还希望能够保存它们以供将来参考(在某些情况下)。

目前,每次我想编写测试时,我都会创建一个包含 webpack.config 文件 package.json 的目录,并使用 npm install 和 npm run 来运行代码或启动 NodeJS express 服务器来提供索引。 html.

对于快速测试来说,这似乎是一个很大的开销,它会导致几十个 node_module 目录,其中包含大量文件。

【问题讨论】:

  • 为什么不重复使用相同的测试目录,如果它只是用于示例程序,或者复制现有的,这样您就不必重新创建?
  • 如果我想快速检查一些东西,我会去codesandbox.io
  • @loganfsmyth,当您有一个样本要保存以供将来参考时,这会产生问题。例如,您编写 sample1 并将其保存在目录 sample1 中。然后 2 个月后你想再次运行它。您将它复制到测试目录,运行它,修改它,并且需要记住将它复制回原来的位置。哎呀,我把它复制到了错误的目录(sample2)并覆盖了它。我希望 sample1 和 sample2 在 git/svn 中。如果没有更好的解决方案,这是一个选择。
  • 我没有使用过codesandbox.io,所以感谢@marzelin 的建议。
  • 为什么不复制整个目录,包括node_modules和webpack配置等等。

标签: javascript node.js webpack babeljs


【解决方案1】:

也许不是你想要的答案,但你总是可以将 jsfiddle 与 babel + jsx 一起使用。我认为 jsfiddle 是一个非常好的工具,可以在 babel/jsx 或其他库、转译器等中快速运行简单的应用程序。

【讨论】:

  • 使用 jsfiddle、codesandbox.io 或 codepen.io(或其他)有时可以工作,但在需要多个文件时就不行。例如,要回答“一个模块在被其他几个模块导入时是否只初始化/加载一次”这个问题?这需要多个文件。提到的网站不允许我创建多个文件。不过,我非常感谢您的回答,而且我确实有 JSFiddle 登录名。
  • @PatS 好的,那么使用 plnkr.co 怎么样? Plunker 提供了对多个文件的支持,并且还为 babel 等包提供了快速设置
  • plnkr.co 感谢您的建议 plnkr.co 看起来很有希望。我尝试运行一个包含多个文件的示例,但不知道如何让它运行 babel,但我会继续尝试。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-07-01
  • 1970-01-01
  • 2017-03-05
  • 2018-05-27
  • 2016-10-04
相关资源
最近更新 更多