Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

快应用不能用组件。 #5094

Open
funyaliga opened this issue Dec 16, 2019 · 5 comments
Open

快应用不能用组件。 #5094

funyaliga opened this issue Dec 16, 2019 · 5 comments
Assignees
Labels
T-quickapp Target - 编译到快应用

Comments

@funyaliga
Copy link

问题描述

原项目在小程序、百度小程序、字节跳动都能运行。
但运行快应用直接报错了。
后来新建一个新项目测试,发现我使用组件就会报错。

复现步骤

// index.jsx: 

import Taro, { Component } from '@tarojs/taro';
import { View, Button, Text } from '@tarojs/components';
import Test from "./Test.jsx";

class Index extends Component {
  render () {
    return (
      <View className="index">
        <Test />
      </View>
    );
  }
}

export default Index;
// Test.jsx: 

import Taro, { Component } from '@tarojs/taro';
import { View, Text } from '@tarojs/components';

class IndexTest extends Component {

  render () {
    return (
      <View className="index-test">
        <Text>12313</Text>
      </View>
    );
  }
}

export default IndexTest;

期望行为

快应用能正常使用组件

报错信息

[ERRO] 构建错误 Module build failed (from ./node_modules/@hap-toolkit/dsl-xvm/lib/loader/ux-loader.js):
Error: 未知文件格式:.jsx
at Object.loader (/Users/junli/work/quickapp/dist/node_modules/@hap-toolkit/dsl-xvm/lib/loader/ux-loader.js:1:2817)

我改成".js"文件格式也会报错

系统信息

Taro 1.3.25 和 2.0.0-beta.8 都报错。

Taro v2.0.0-beta.8

Taro CLI 2.0.0-beta.8 environment info:
System:
OS: macOS 10.14.4
Shell: 5.3 - /bin/zsh
Binaries:
Node: 10.15.3 - /usr/local/bin/node
Yarn: 1.3.2 - /usr/local/bin/yarn
npm: 6.4.1 - /usr/local/bin/npm
npmPackages:
@tarojs/async-await: 2.0.0-beta.8 => 2.0.0-beta.8
@tarojs/components: 2.0.0-beta.8 => 2.0.0-beta.8
@tarojs/components-qa: 2.0.0-beta.8 => 2.0.0-beta.8
@tarojs/mini-runner: 2.0.0-beta.8 => 2.0.0-beta.8
@tarojs/redux: 2.0.0-beta.8 => 2.0.0-beta.8
@tarojs/redux-h5: 2.0.0-beta.8 => 2.0.0-beta.8
@tarojs/router: 2.0.0-beta.8 => 2.0.0-beta.8
@tarojs/taro: 2.0.0-beta.8 => 2.0.0-beta.8
@tarojs/taro-alipay: 2.0.0-beta.8 => 2.0.0-beta.8
@tarojs/taro-h5: 2.0.0-beta.8 => 2.0.0-beta.8
@tarojs/taro-qq: 2.0.0-beta.8 => 2.0.0-beta.8
@tarojs/taro-quickapp: 2.0.0-beta.8 => 2.0.0-beta.8
@tarojs/taro-swan: 2.0.0-beta.8 => 2.0.0-beta.8
@tarojs/taro-tt: 2.0.0-beta.8 => 2.0.0-beta.8
@tarojs/taro-weapp: 2.0.0-beta.8 => 2.0.0-beta.8
@tarojs/webpack-runner: 2.0.0-beta.8 => 2.0.0-beta.8
eslint-config-taro: 2.0.0-beta.8 => 2.0.0-beta.8
eslint-plugin-taro: 2.0.0-beta.8 => 2.0.0-beta.8
nerv-devtools: ^1.5.5 => 1.5.6
nervjs: ^1.5.5 => 1.5.6
stylelint-config-taro-rn: 2.0.0-beta.8 => 2.0.0-beta.8
stylelint-taro-rn: 2.0.0-beta.8 => 2.0.0-beta.8
npmGlobalPackages:
typescript: 3.4.1

补充信息

@taro-bot
Copy link

taro-bot bot commented Dec 16, 2019

CC @luckyadam

@taro-bot
Copy link

taro-bot bot commented Dec 16, 2019

欢迎提交 Issue~

如果你提交的是 bug 报告,请务必遵循 Issue 模板的规范,尽量用简洁的语言描述你的问题,最好能提供一个稳定简单的复现。🙏🙏🙏

如果你的信息提供过于模糊或不足,或者已经其他 issue 已经存在相关内容,你的 issue 有可能会被关闭。

Good luck and happy coding~

@Issacpeng
Copy link
Collaborator

@funyaliga 工程方便弄上来看一下否,如果是通过TARO进行转换,应该是TSX后缀,需要详细看一下。

@funyaliga
Copy link
Author

@Issacpeng
Copy link
Collaborator

@funyaliga 在pages中引入自定义逻辑模块的时候,会被当做自定义组件引入,TARO默认会转换为绝对路径,但快应用hal-toolkit包暂不支持绝对路径解析,导致报错。
1.临时解决方案:手动修改为相对路径
image
2.待后续对这种场景进行转换优化,目前只存在于快应用的转换中,比较特殊一些。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
T-quickapp Target - 编译到快应用
Projects
None yet
Development

No branches or pull requests

4 participants