Babel路径转换为绝对路径

时间:2020-04-23 04:27:41

标签: javascript node.js babeljs

我遇到通天塔路径移植的怪异行为。在我的项目中,某些模块如下所示

import module from '~modulename'

其中〜表示从项目目录的根目录导入给定的“模块名”。现在,这对于开发人员(运行项目的Babel节点)如何正常工作。但是,当我在我的项目上运行babel src -d lib来进行es6 js编译时,所有内容都进行了转换(反堆),但是在构建时却没有这样,我总是留下require('~modulename')而不是require('../../...modulename')。 / p>

我尝试过的解决方案

  1. 通过module-resolver-plugin将babel.config.js中的〜/别名为./

Babel.config.js

module.exports = __babel => {
  // Use cache.
  __babel.cache(true)

  // Return configuration.
  return {
    'presets': [
      [
        '@babel/preset-env',
        {
          'modules': false
        }
      ]
    ],
    'plugins': [
      '@babel/plugin-proposal-throw-expressions',
      '@babel/plugin-proposal-export-default-from',
      'dynamic-import-node',
      'babel-plugin-root-import',
      ['babel-plugin-module-resolver', { 'alias': { '~': './' } }]
      ['module-resolver', { 'root': ['./', 'packages/*'] }],
      ['@babel/plugin-transform-modules-commonjs', { 'allowTopLevelThis': true }],
      ['@babel/plugin-transform-runtime', { 'regenerator': true }]
    ],
    'env': {
      'production': {
        'presets': ['minify'],
        'plugins': [
          'transform-remove-console',
          'minify-dead-code-elimination'
        ]
      }
    }
  }
}

0 个答案:

没有答案
相关问题