在生产中使用Babel - 如何预编译脚本

时间:2017-01-25 13:32:13

标签: oracle reactjs babeljs oracle-apex

我正在使用Oracle Application Express(APEX)构建应用程序[因此不存在Node]。

我有两个问题在某种程度上与概念有关。

问题#1:

我已在所有网页中包含React.js库以使用其部分功能。

我使用babel将我的JSX转换为简单的JS。一切都很好。

但我继续在我的控制台中收到此警告:

You are using the in-browser Babel transformer. 
Be sure to precompile your scripts for production - https://babeljs.io/docs/setup/

我知道我必须预编译我的脚本,但我不知道如何。我访问了这个链接,让我更加困惑。

问题#2:

我遇到的另一个问题是我在一个单独的.js文件中获得了所有与反应相关的代码,并且我已将其嵌入到我的页面中:

<script src="someJSFile.js" type="text/babel"></script>

将类型设置为&#34; text / babel&#34; 会引发此警告:

Fetching scripts with an invalid type/language attributes is deprecated 
and will be removed in M56, around January 2017. 
See https://www.chromestatus.com/features/5760718284521472 for more details.

此问题是否有解决方法?

1 个答案:

答案 0 :(得分:2)

问题1:这与您选择的Bunlder相关联(请参阅下面的问题2)。您选择哪个,将允许您将节点环境设置为生产,这将使React处于“生产”模式 - 基本上清除所有不需要的(但有用的)开发消息和检查。

问题2:在一天结束时您需要一些模块捆绑器。 Webpack是目前的转到。 Webpack Site

替代方案包括:

  • Gulp + Browserify
  • 汇总
编辑:我知道你说“没有节点”。您不需要节点在服务器上运行任何内容,只需在构建文件的本地计算机上运行。 Node几乎可以在任何本地机器上轻松安装