vux-loader icon indicating copy to clipboard operation
vux-loader copied to clipboard

使用了vux-loader后,在chrome上debug,查看到的.vue文件,每条语句前的空格都没有了

Open custcy opened this issue 6 years ago • 7 comments

配置如下

module.exports = vuxLoader.merge(webpackConfig, { plugins: ['vux-ui', 'progress-bar', 'duplicate-style', { name: 'i18n', vuxStaticReplace: false, staticReplace: false, extractToFiles: './src/locales/components.yml', localeList: ['en', 'zh-CN'] }]
}) 使用了vux-loader后,在chrome上debug,查看到的.vue文件,每条语句前的空格都没有了。但是js文件正常。

vux-loader的版本1.1.0。

例如,在chrome查看一个.vue文件:

import XButton from 'vux/src/components/x-button/index.vue' import XHeader from 'vux/src/components/x-header/index.vue'

export default { name: 'recoverpwd', components: { XButton, XHeader }, data () { return { msg: '' } }, methods: { fetchData: function () { let login = this.$route.params.login this.msg = this.$t('msgAskAdminResetPassWithArg', {login: login})

}, Login: function () { this.$router.push({ name: 'login' }) } }, created: function () { this.fetchData() } }

如果使用配置: module.exports = webpackConfig 则在chrome短查看.vue文件的语句前面空格是被保留的。

custcy avatar Aug 16 '17 06:08 custcy

目前会有这样的问题,原因是正则匹配需要,后面重写 parser 后会修复。

airyland avatar Aug 16 '17 07:08 airyland

@airyland

thanks, 这么快就给出了回复。这个问题其实不会太大,但是有一个跟这个相关的问题,影响特别大,会导致在vscode中通过chrome debugger调试时,.vue文件里的断点错位。

主要有两个原因,第一,vue-loader把template和i18n给去掉了,但是正确的做法应该是,内容去掉,但是保留同样数目的空行。否则断点错位。

第二,import { Group } from 'vux' 好像会翻译成两行,这样也会导致断点错位。不过这个问题,比较好避免,我使用多行写import语句就可以避免这个问题,例如: import { Group } from 'vux'

custcy avatar Aug 16 '17 10:08 custcy

谢谢反馈,接下来版本会保留相同空行并且保证解析结果和原来行数一致。

airyland avatar Aug 16 '17 10:08 airyland

补充一个绕过第一点原因的方法: 把js从.vue文件中提取出来,放到一个单独的js文件中。

例如: Login.vue 文件 ...

...

loginimpl.js 文件 import { XSwitch, Alert, Group, XInput, XButton, XHeader } from 'vux' ... export default { name: 'login', components: { XSwitch, Alert, ...

custcy avatar Aug 18 '17 03:08 custcy

使用airyland/vux2模板创建的项目,现在在devtool上完全无法定位到vue源码: snipaste20171212_115902 vux-loader版本是1.1.28。 除非将eval-source-map改为cheap-module-eval-source-map 此时虽然能看到源码,但是症状与主楼描述一样,没有空格,非常影响调试体验。 这个问题在vux文档上完全没有提及,是我在技术选型时遇到的重大障碍,希望能够尽快解决。

mirari avatar Dec 12 '17 04:12 mirari

https://github.com/airyland/vux-loader/blob/780e3aaf30124667f39e005c69a9dbb1f32d4c04/src/libs/import-parser.js#L94-L112

请问为什么去掉了缩进,这样在调试的时候非常的不方便呢

eyasliu avatar Oct 16 '18 02:10 eyasliu

一年多过去了,请问有没有修复的计划

目前会有这样的问题,原因是正则匹配需要,后面重写 parser 后会修复。

eyasliu avatar Oct 16 '18 02:10 eyasliu