在生产入口文件中使用babel-polyfill
我使用babel来转储ES7 js代码,并且所有的东西都像dev / staging中的魅力一样。 在应用程序内部,我非常依赖ES7的asynchronous/等待function。 我的入口文件如下所示:
'use strict'; require("babel-polyfill"); require("babel-core/register"); module.exports = require('./app/server').default();
我不确定在生产环境中是否有必要保留babel-polyfill和babel-core / register模块,因为我在部署之前使用babel-cli来传输所有内容。 我认为它必须正确工作,即使我删除这些,使入口文件看起来像这样:
import server from './app/server'; server();
但是,如果这样做,我在启动应用程序时遇到了下一个exception:
ReferenceError: regeneratorRuntime is not defined at C:\Users\Username\Documents\some-service\lib\app\repositories\someRepository.js:18:32 at Object.<anonymous> (C:\Users\Username\Documents\some-service\lib\app\repositories\someRepository.js:40:2) at Module._compile (module.js:460:26) at Object.Module._extensions..js (module.js:478:10) at Module.load (module.js:355:32) at Function.Module._load (module.js:310:12) at Module.require (module.js:365:17) at require (module.js:384:17) at Object.<anonymous> (C:\Users\Username\Documents\some-service\lib\app\controllers\someController.js:15:27) at Module._compile (module.js:460:26) at Object.Module._extensions..js (module.js:478:10) at Module.load (module.js:355:32) at Function.Module._load (module.js:310:12) at Module.require (module.js:365:17) at require (module.js:384:17) at Object.<anonymous> (C:\Users\Username\Documents\some-service\lib\app\server.js:15:26) at Module._compile (module.js:460:26) at Object.Module._extensions..js (module.js:478:10) at Module.load (module.js:355:32) at Function.Module._load (module.js:310:12) at Module.require (module.js:365:17) at require (module.js:384:17)
在生产环境中引用babel-polyfill和babel-core / register包是否正常?
如果您在开发过程中依赖于这些模块(babel-polyfill和babel-core / register),那么您的生产文件中也需要这些模块。 转译过程不会添加像Object.assign
或Promise
这样的polyfill。
babel polyfills的文档页面没有明确说明你应该为开发和生产包含不同的库。 但它确实表示你需要包含它或特定的polyfills你想要的function,似乎说你需要在任何环境中使用它们。
简而言之:在每个环境中都包括polyfill是标准的,因为babel的转移不会自动添加polyfill。
- 在浏览器中使用babel-standalone
- Webpack&Babel:服务器端渲染React组件“Unexpected token”<'“
- 使导出默认使用Babel,webpack和Node.js
- 使用Nodemon在Node.js v6.2.0上安装Babel V6.x ES7 Async / Await
- “导出默认值”不适用于Babel React
- 如何从ReactJS组件中删除“onClick”属性?
- nodemon,babel-node:如何设置环境variables?
- 我怎样才能从别的地方访问项目的babel相关的代码?
- 如何从全局安装的节点应用程序中获取本地文件夹中没有node_modules的响应组件?