为了账号安全,请及时绑定邮箱和手机立即绑定

babel 构建缺少要求

babel 构建缺少要求

蓝山帝景 2022-12-09 15:09:28
我刚刚升级到 babelv7并且building我的项目我看到它只构建我的index.js而不是该文件中使用的任何导入。我希望构建包含所有导入,以便我可以使用我构建的文件。.babelrc{  "presets": [    [      "@babel/preset-env", {      "targets": {        "node": "current"      }    }]  ]}索引.jsimport FetchApi from './utils/fetch'export const aFunc = function () {FetchApi()}    export default aFunc构建.js"use strict";Object.defineProperty(exports, "__esModule", {  value: true});exports.default = exports.aFunc = void 0;var _fetch = _interopRequireDefault(require("./utils/fetch"));function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }const aFunc = function () {  (0, _fetch.default)();};exports.aFunc = aFunc;var _default = aFunc;exports.default = _default;有问题的行在这里:   var _fetch = _interopRequireDefault(require("./utils/fetch"));
查看完整描述

1 回答

?
潇湘沐

TA贡献1816条经验 获得超6个赞

babel <src-file>只会转译单个源文件。您可以通过指定目录而不是单个源文件来转译目录中的所有源babel <src-dir> -d build文件: . 这将生成一个转译文件树,并且您的 require 语句将解析为转译模块。

如果你想将所有源文件合并到一个输出文件中,还有 babel 的--out-file标志,但它可能不会做你想要的(它只是cat将所有已转换的文件合并到一个输出文件中;你的 require 语句仍然存在,仍将指向外部文件,并会在运行时失败)。您可能需要像 webpack/rollup/parcel 这样的打包器来将 require 语句转换为内联模块,从而允许您生成一个独立的、转译的构建工件。


查看完整回答
反对 回复 2022-12-09
  • 1 回答
  • 0 关注
  • 87 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信