Taro: 修改组件保存后监听编译总是警告:xx没有被引用到,不会被编译

Created on 25 Oct 2018  ·  19Comments  ·  Source: NervJS/taro

复现步骤
[复现问题的步骤]
创建了一个组件,在页面引用的好好的,然后去修改了一下组件的内容,保存就会提示警告
警告 JS文件 src/commponents/Modal/Index.tsx 没有被引用到,不会被编译

退出监听重新编译又正常了 修改也会生效

系统信息

  • 操作系统: [e.g. Windows 10]
  • Taro 版本 [e.g. v.0.0.64]
  • Node.js 版本 [e.g. v8.11.3]

    • npm版本 [ v6.4.1 ]

  • 报错平台 [ weapp]

补充信息
[可选]
[根据你的调查研究,出现这个问题的原因可能在哪里?]

Most helpful comment

ts 项目必现, 编译正常没有报错,只要编译出错就会一直报, 重新编译下🈶️不报 Taro v1.3.5
1562223957481

All 19 comments

退出taro, 重新启动一下

退出taro, 重新启动一下

不可能每次修改了东西都重新启动一下吧,好麻烦,用wepy的时候没遇到过这种问题

你的 Taro 版本太旧了

你的 Taro 版本太旧了

现在taro版本是什么,我好像在官方文档上没找到版本号,我现在用的1.0.0-beta.21

image

ok

@luckyadam 我就是用的👽 Taro v1.1.0-beta.13,还是会出现这样的问题,组件内除了js文件的其他文件修改是可以实时编译,就js文件不行

抱歉,这个问题我要重新打开,更新了还是不行,还是提示组件 "没有被引用到,不会被编译",这样我每次修改东西还得重新编译一下,好麻烦

@drawing-snail
首先确定 cli 已经升级到 1.1.0-beta.13 ,然后你看看项目依赖里有没有依赖旧版本的 cli,有的话去掉,然后重新安装依赖,只使用全局的 cli
可以的话,提供一个可以复现的项目~

@luckyadam 这个问题在用小程序原生组件时会出现,修改组件wxml和wxss都会编译刷新,只有修改js文件不会, 比如这里在src/components/tab/index.js里写上

Component({

  behaviors: [],

  properties: {
    myProperty: { // 属性名
      type: String, // 类型(必填),目前接受的类型包括:String, Number, Boolean, Object, Array, null(表示任意类型)
      value: '', // 属性初始值(可选),如果未指定则会根据类型选择一个
      observer: function(newVal, oldVal, changedPath) {
         // 属性被改变时执行的函数(可选),也可以写成在methods段中定义的方法名字符串, 如:'_propertyChange'
         // 通常 newVal 就是新设置的数据, oldVal 是旧数据
      }
    },
    myProperty2: String // 简化的定义方式
  },
  data: {}, // 私有数据,可用于模版渲染

  // 生命周期函数,可以为函数,或一个在methods段中定义的方法名
  attached: function(){},
  moved: function(){},
  detached: function(){},

  methods: {
    onMyButtonTap: function(){
      this.setData({
        // 更新属性和数据的方法与更新页面数据的方法类似
      })
    },
    // 内部方法建议以下划线开头
    _myPrivateMethod: function(){
      // 这里将 data.A[0].B 设为 'myPrivateData'
      this.setData({
        'A[0].B': 'myPrivateData'
      })
    },
    _propertyChange: function(newVal, oldVal) {

    },
    clickHandler () {
      console.log('sdsd')
      this.triggerEvent('myevent', { f: 1 })
    }
  }

})

src/pages/index/index.js

config = {
  usingComponents: {
      'tab': '../../components/tab/index' // 书写第三方组件的相对路径
    }
}

在修改src/components/tab/index.js 这个文件后,会出现 警告 JS文件 src/components/tab/index.js 没有被引用到,不会被编译, 不过修改同目录下的wxml和wxss都是会刷新的

@nyrf 应该是编译时对原生组件支持不够好,我再看下

CC @luckyadam

我也遇到这个问题 taro版本是Taro v1.3.0-beta.3

ts 项目必现, 编译正常没有报错,只要编译出错就会一直报, 重新编译下🈶️不报 Taro v1.3.5
1562223957481

我时常遇到报 .js 没有被引用到 未被编译的问题。不过重启之后一段时间内就没问题

Hello~

您的问题楼上已经提供了解决方案,如果没有更多的问题这个 issue 将在 15 天后被自动关闭。

如果您在这 15 天中更新更多信息自动关闭的流程会自动取消,如有其他问题也可以发起新的 Issue。

Good luck and happy coding~

@shenghanqin 这问题怎么解决?

你现在用最新版本还有有这个问题吗?

我平时用的是js而非ts版,一直没出现过类似的问题。

Hello~

您的问题所提供的信息不足,我们无法定位到具体的问题。如果有空的话还请拔冗提供更具体的信息,否则这个 issue 将在 15 天后被自动关闭。

如果您在这 15 天中更新更多信息自动关闭的流程会自动取消,如有其他问题也可以发起新的 Issue。

Good luck and happy coding~

Was this page helpful?
0 / 5 - 0 ratings

Related issues

qilovehua picture qilovehua  ·  3Comments

chankamlam picture chankamlam  ·  3Comments

wyhaya picture wyhaya  ·  3Comments

zhuxianguo picture zhuxianguo  ·  3Comments

LadyChatterleyLover picture LadyChatterleyLover  ·  3Comments