调试时在 Vue-CLI 应用程序中禁用转译为 ES5

Posted

技术标签:

【中文标题】调试时在 Vue-CLI 应用程序中禁用转译为 ES5【英文标题】:Disable transpiling to ES5 in Vue-CLI app while debugging 【发布时间】:2021-06-15 09:39:32 【问题描述】:

我有一个开箱即用的 Vue CLI 应用程序,它使用 babel 转换为 ES5。有时这会导致调试时出现问题(因为我通过源映射查看的代码并不完全是正在运行的代码)。

如何禁用这种转换,至少在调试模式下?问题的一部分是因为这个刚刚建立起来,我并没有真正理解 webpack、babel 等链的所有步骤是什么,每次我尝试阅读它时似乎都非常复杂。

我的 package.json 的相关部分是:

  "devDependencies": 
    "@vue/cli-plugin-babel": "^3.3.0",
    "@vue/cli-plugin-eslint": "^3.3.0",
    "@vue/cli-service": "^3.3.0",
    "babel-eslint": "^10.0.1",
    "copy-webpack-plugin": "^4.6.0",
    "eslint": "^5.8.0",
    "eslint-plugin-vue": "^5.0.0",
    "pug": "^2.0.3",
    "pug-plain-loader": "^1.0.0",
    "vue-cli-plugin-pug": "^1.0.7",
    "vue-template-compiler": "^2.5.21",
    "webpack-dev-server": "3.2.0"
  ,
  "eslintConfig": 
    "root": true,
    "env": 
      "node": true
    ,
    "extends": [
      "plugin:vue/essential",
      "eslint:recommended"
    ],
    "rules": 
      "no-console": 0
    ,
    "parserOptions": 
      "parser": "babel-eslint"
    
  ,
  "postcss": 
    "plugins": 
      "autoprefixer": 
    
  ,
  "browserslist": [
    "> 1%",
    "last 2 versions",
    "not ie <= 8"
  ]

代码是here。

【问题讨论】:

您是否尝试过将您的babel.config.jstargets 或您的package.jsonbrowserslist 更改为例如最新的 Chrome 版本?它不会停止转译,但至少会限制它。 是的,这部分有帮助,只要浏览器列表是最新的。不过,我想知道如何完全跳过 Babel。 【参考方案1】:

您可以尝试添加

ignore: ["./src"]; // './src' is your desired directory

在您的 babel.config.js 文件中。

如果任何模式匹配,Babel 将立即停止当前构建的所有处理。

有效选项为Array&lt;MatchPattern&gt;,表示模式数组,了解更多信息here

通过官方doc了解更多关于ignore的信息

由于您只想在开发模式下忽略文件,因此您需要这样的东西:

ignore: [ process.env.NODE_ENV !== 'production' ? "./src" : "" ],

【讨论】:

完美,谢谢! (在 vue-cli fyi 上是 ./src)。 不确定目录或 js 文件位置哈哈。谢谢

以上是关于调试时在 Vue-CLI 应用程序中禁用转译为 ES5的主要内容,如果未能解决你的问题,请参考以下文章

使用 bundle.js 时在浏览器中进行反应调试

转禁用审查元素,禁用控制台

如何在禁用布局时在引导程序中设置的 Zend 控制器中回显头部链接

使用 vue-cli 时如何禁用在本地网络上运行应用程序?

编写summernote textarea时在IE中出现选择

Vue js Vue-cli 执行“npm run build”,将图像不透明度的 css 编译为 1%