我正在测试 Vue Native。非常熟悉原生 iOS 和 Android 开发以及 web/SPA 上下文中的 Vuejs。我想我会给 Vue Native 一个机会,看看在我们的一些小型项目中使用它。虽然刚刚开始,但我遇到了一个问题。请参阅下面的步骤来重现我遇到的问题。
创建一个新项目:
vue-native init vuenativetest --no-expo
然后我在这里按照基本的 hello world 说明进行操作: https ://vue-native.io/getting-started.html
react-native run-ios --simulator "iPhone 11"
// 工作正常
然后我从这里开始设置我自己的基本组件,但最初尝试“组织”代码。 https://vue-native.io/docs/composing.html
创造components/HeaderTest.vue
<template>
<div>Hello Header</div>
</template>
<script>
export default {
name: "HeaderTest.vue"
}
</script>
<style scoped>
</style>
App.vue
<template>
<view class="container">
<header-test />
<text class="text-color-primary">{{ message }}</text>
<button title="Press me!" @press="exclaim" />
</view>
</template>
<script>
import HeaderTest from "./components/HeaderTest";
export default {
components: { HeaderTest },
data() {
return {
message: "Hello World"
};
},
methods: {
exclaim() {
this.message += "!";
}
},
};
</script>
<style>
.container {
flex: 1;
background-color: white;
align-items: center;
justify-content: center;
}
.text-color-primary {
color: blue;
font-size: 30px;
}
</style>
react-native run-ios --simulator "iPhone 11"
// 启动但看到以下错误
不变违规:元素类型无效:需要一个字符串(对于内置组件但得到:未定义)。您可能忘记从定义组件的文件中导出组件,或者您可能混淆了默认和命名的 inports...。
另请注意,我也尝试将其移出到目录的根目录中,但无济于事。
我在这里做错了什么?提前感谢您的任何指导。
编辑:如果有人想查看所有代码,请创建一个 git repo:https ://github.com/djneely/vuenativetest