问题描述
将代码编译成微信小程序调试模式,会报/Users/apple/HBuilderXProjects/taro-freedemons/myApp/src/pages/home/index编译失败!
[或者可以直接贴源代码,能贴文字就不要截图]
import Taro, { Component } from '@tarojs/taro';
import { View, Swiper, SwiperItem, Image, Text } from '@tarojs/components';
import { AtGrid, AtList, AtListItem, AtDivider, AtIcon } from "taro-ui"
import { connect } from '@tarojs/redux';
import { baseUI } from '../../config';
import './index.scss';
@connect(({home}) => ({
...home,
}))
export default class Home extends Component {
config = {
navigationBarTitleText: 'home',
};
constructor(props){
super(props);
this.state = {
banner:[
'../../images/temp/home_banner-1.jpg',
'../../images/temp/home_banner-2.jpg',
'../../images/temp/home_banner-3.jpg',
'../../images/temp/home_banner-4.jpg'
]
}
}
componentDidMount = () => {
};
onGridClick = (item,index) => {
console.log(item);
}
render() {
const { banner } = this.state,
gridData =
[
{
image : 'https://img12.360buyimg.com/jdphoto/s72x72_jfs/t6160/14/2008729947/2754/7d512a86/595c3aeeNa89ddf71.png',
value : '领取中心',
},
{
image: 'https://img20.360buyimg.com/jdphoto/s72x72_jfs/t15151/308/1012305375/2300/536ee6ef/5a411466N040a074b.png',
value: '找折扣'
},
{
image: 'https://img10.360buyimg.com/jdphoto/s72x72_jfs/t5872/209/5240187906/2872/8fa98cd/595c3b2aN4155b931.png',
value: '领会员'
},
{
image: 'https://img12.360buyimg.com/jdphoto/s72x72_jfs/t10660/330/203667368/1672/801735d7/59c85643N31e68303.png',
value: '新品首发'
},
{
image: 'https://img14.360buyimg.com/jdphoto/s72x72_jfs/t17251/336/1311038817/3177/72595a07/5ac44618Na1db7b09.png',
value: '领京豆'
},
{
image: 'https://img30.360buyimg.com/jdphoto/s72x72_jfs/t5770/97/5184449507/2423/294d5f95/595c3b4dNbc6bc95d.png',
value: '手机馆'
},
{
image: 'https://img20.360buyimg.com/jdphoto/s72x72_jfs/t15151/308/1012305375/2300/536ee6ef/5a411466N040a074b.png',
value: '找折扣'
},
{
image: 'https://img10.360buyimg.com/jdphoto/s72x72_jfs/t5872/209/5240187906/2872/8fa98cd/595c3b2aN4155b931.png',
value: '领会员'
},
];
return (
<View className="home-page">
<Swiper
className = 'test-h'
interval = '2000'
indicatorColor = '#fff'
indicatorActiveColor = {baseUI.activeColor}
circular
indicatorDots
autoplay>
{
banner.map((item,index) => (
<SwiperItem key={index}>
<Image src={require(`../../images/temp/home_banner-${index+1}.jpg`)}></Image>
</SwiperItem>
))
}
</Swiper>
<AtGrid data={gridData}
columnNum='4'
onClick={this.onGridClick.bind(this)}
/>
<AtList>
<AtDivider lineColor={baseUI.activeColor}>
<AtIcon value='sketch' size='18'></AtIcon>
<Text className='h5'>为你推荐</Text>
</AtDivider>
<AtListItem
title='标题文字'
note='描述信息'
arrow='right'
thumb='https://img12.360buyimg.com/jdphoto/s72x72_jfs/t6160/14/2008729947/2754/7d512a86/595c3aeeNa89ddf71.png'
/>
<AtListItem
title='标题文字'
note='描述信息'
arrow='right'
thumb='http://img10.360buyimg.com/jdphoto/s72x72_jfs/t5872/209/5240187906/2872/8fa98cd/595c3b2aN4155b931.png'
/>
<AtListItem
title='标题文字'
note='描述信息'
extraText='详细信息'
arrow='right'
thumb='http://img12.360buyimg.com/jdphoto/s72x72_jfs/t10660/330/203667368/1672/801735d7/59c85643N31e68303.png'
/>
<AtListItem
title='标题文字'
note='描述信息'
extraText='详细信息'
arrow='right'
thumb='http://img12.360buyimg.com/jdphoto/s72x72_jfs/t10660/330/203667368/1672/801735d7/59c85643N31e68303.png'
/>
<AtListItem
title='标题文字'
note='描述信息'
extraText='详细信息'
arrow='right'
thumb='http://img12.360buyimg.com/jdphoto/s72x72_jfs/t10660/330/203667368/1672/801735d7/59c85643N31e68303.png'
/>
</AtList>
</View>
)
}
}
期望行为
应该编译成功,在微信开发者工具上成功预览。
报错信息
编译 页面文件 src/pages/home/index
错误 页面编译 页面/Users/apple/HBuilderXProjects/taro-freedemons/myApp/src/pages/home/index编译失败!
TypeError [ERR_INVALID_ARG_TYPE]: The "path" argument must be of type string. Received type undefined
at assertPath (path.js:39:11)
at Object.isAbsolute (path.js:1146:5)
at CallExpression (/usr/local/lib/node_modules/@tarojs/cli/src/weapp.js:477:18)
at NodePath._call (/usr/local/lib/node_modules/@tarojs/cli/node_modules/babel-traverse/lib/path/context.js:76:18)
at NodePath.call (/usr/local/lib/node_modules/@tarojs/cli/node_modules/babel-traverse/lib/path/context.js:48:17)
at NodePath.visit (/usr/local/lib/node_modules/@tarojs/cli/node_modules/babel-traverse/lib/path/context.js:105:12)
at TraversalContext.visitQueue (/usr/local/lib/node_modules/@tarojs/cli/node_modules/babel-traverse/lib/context.js:150:16)
at TraversalContext.visitSingle (/usr/local/lib/node_modules/@tarojs/cli/node_modules/babel-traverse/lib/context.js:108:19)
at TraversalContext.visit (/usr/local/lib/node_modules/@tarojs/cli/node_modules/babel-traverse/lib/context.js:192:19)
at Function.traverse.node (/usr/local/lib/node_modules/@tarojs/cli/node_modules/babel-traverse/lib/index.js:114:17)
系统信息
补充信息
页面可能出现在我所贴出代码处,taroUI组件问题。
欢迎提交 Issue~
如果你提交的是 bug 报告,请务必遵循 Issue 模板的规范,尽量用简洁的语言描述你的问题,最好能提供一个稳定简单的复现。🙏🙏🙏
如果你的信息提供过于模糊或不足,或者已经其他 issue 已经存在相关内容,你的 issue 有可能会被关闭。
Good luck and happy coding~
通过 prettier 格式化你的实例代码之后没能复现你这个问题,考虑以后写代码的时候注意排版和格式。
https://prettier.io/playground/#N4Igxg9gdgLgprEAuEBLAtgBwgJxgAgBUBDHCAGn2HwGEItoECBffAHRg685+794H8OAMzLp8AcgACMUhABWAZwD0sshIDcbKBmx4q+AGqo4Ad0r4AyqdSY4OStdv2AkvHSUX6YgHM4lQjgADxZ2QXDRekkZOSVlSAYoJkVNbV1cAmoAQRgAcRxUABNKHIAZVEUYEphyyrc4D3wcgBFUADci+2qXSCh8ViEYSPE2EDUIAFoAV1RRtIZ9al6ksFDB9fCNraGxaPG4nDhCqaDUnQXM-AAjYkU4AFUXfu2Xzbf+YckAOi-lH-joMJUD4zul9BJfqgoIVgl9FGBFCktFBtFJlnBVgAKTHAAAW9DgzAAlPgALwAPnwOO0+HwPy++PQ-m0xKJ2g4wT0BBhwmIUwANgQwPzbop8AAJAn4YLwaFiuiJJhUdk8XpAnxk5UogRQYgdHzEGCoaAAIVIhFQMH5cECISQkkZcAk5BVHGYyO4vUqOCmq1wmMwZEwiiJwFdPEUUzsOADQZDHoEMFxFThsngmrD2v4NygSRwSAA2uH+BDfv8ML44Cp3JhlI6APo5vMTACMX3kmBBLqz4VLf0h3j81YatYbTfsEwATO3O87iwI++XB1XVCO6wTG8RcxOAMwzrvz7iLgeV4dYddMzfbnATAAs+4kh5gAF158xw++ewlsElYK1CgAshAUywJqmIkhSWpCD27rhtA+RFDQ-KoGAADWYGWg05BQjCQQQZSmb8F6EDWl8-IQD4mKYegRIJm64aHNC9jgVBgg9hwXqXOOOD9GEpL4EmKaVIazLseEPgFIUzSGsQ3D8U+gxFmJ2yEe8bwVn4HD2hIuIwDAwZIMoygYD4LbTjuABsAAMVxTAAniZXwJMo8iFJg+IwBAyiKAA7JOQR+fW8jCNWFkttZygtreyiTlZVkABx+QAnElt4+TFPkAKzRT5hSZWZxDxRZyiZUlmVgDuxBwHAAByhVJYUhTCD5baYFAB7KWpHBtMQ-JTHAWmSIAYRmAGvKgC0coAw-pzp1GzMN2rzcKpC08BpcDabp+mKIZxnoD4sVfJZNn2Y5zmue5ECed5fkBZOQUhaoLb5flyg7glkVWWZr2ZTuWUxa9VklZZ1UWXAwglcQt4tlFFkWTVVm3lZxBWT5t5XF8bUdct3A9X1a2SIAfkaABlGgDGRo+M1vHNClvEtXUCKt616QZRkmS2VkHdZtkObtTn0C5bkeV5vn+YFwXVpliWTjFVlJSVk4Iy2iVJVZxWThLyjxbySXxWAhQlWVFVXJOxA1ZDmWZVcSU7q17XTVjPA4-12lDYAWPKABoqZN25T5ODDTy30w6jNbczu1mezR1cz4PPoHz52XULN13dWrMwwDO6vVLlkWT5lnxZFWeS-FH3Z5lhTpaVYDxZlFm3juNVW3AFnxa9e4Y7btP8A7eMSIADaaAIMqgBpmYAi8oe+3PBe3bvuj-7OmB9tLP3odnMnbzZ0C1dwu3aLD1+c9afFS2Vuszu8XxS26VWz56U72VSNl8QYC3reYXxXVLaFFcPlXNL6M2-No-Y71R2w1AA1coAMRiR7LXHv-GAk9XjTw2kzHaPhXphyXtzU6-MLqC2uiLe6MBMqXwBklMuCtH63jKsjGKt5Jw7hiqlPKwgyp63KjuK4t5Cg1SuGACyXCyqFB-pjaB3VAFd0ANJGgAuc0AGGZEDR5QOWrA2m8DZ7Bz2mzRex10Er0wXHHBm88GPQMS9N6rNPpWW+r9GhcVAYgwbqDcGkNoaw3hojZGqMBFtztp3bSRNSZU0GHI0eCjthKM2nPEOaiOYaMjhg2O2CN6J1UOLPyUsZaZTlh9RWysYpqw1sQLWOtmEGyNibR65tLbW0EZ4kRTs3YyNeAE7Yz46JdTEocGAUwcB9ExE+AAPMYMw+BhSijqkyUkoxHQTEwJWUY5IqY9KcNGPxMAhmIhGQNWm-EJDwEqBMXEdTwhQngDgHGrxNmxTivs-gOEUKGlwHQciOBBibIAMTCDeZcum0IbmeRwFkVY7Q4D3NwBwfiwAbh3EeF8e+Ro2iApIrgT82wwCoBwGAAUpAlnXLALcnAzQLqKCWXyTymARR2Vmd7TgFKgkCGuFuPMXxvCYGxNRbCTE8JkkpN0il-B5k2GjPUcQqE4B2VJMAHCwRmDkrthwHpXhKy0kUKi0VhwACOMxDiYgAAb-CXKeVc54xx0onAAEjFWygA1C2Zg+5NVEklT05Qcq-BSugQ6hZrh3Auu2PgIkbIKWIreG6vl9gvWbHJj0nICFCj4EKDJUVEkijSVkAGpFJEpjoCgDVdNpIJC3g+fwaASEUKoVFYJRQXx4KSSLWhL4VwcKYjLXaqmyhQ3QQ2BGmoFQYCtvCB21oHQYQ8WQkkIFOBRXgoeC4KF-zYWjslUsmVOQejQHwJ3HNighXLL2fgRQqAABecAc0KwkOSB1S7eg9sGD020QoRSrOIKMnSmUT2AC45QABvKAArjQACsEOpvZegQZ6YD9s6Dgf93AO21BgAKhdelLTWhzYAcAtAAZGYAcNNADq2vmnUF1D0SEAPPGgAH+MAIfygB7A0w9wUgZBTA5oKD4XSZGeBJnTVcHNCCg5INDuoiOUcY5r3jrg0K4UAZRSlglZKqV0qTiyjlPKBUiqFMqtVOq8UGpNRau4pZLalkQa7dB7lsGrQ4eQ+h+jHAoDYZzQRkjJm1CUeo8COjMHGPoGYzPfSYTTIRPDsvaOq8sHrwTlvfBatYqpPSQrHySsVY5M1trXWpUWGG2NqbMpVt1MUs0xS7TdR3CObg4Z1DGGYNmfgBZojpGYMyhwMQG9ObABn0YAMb8rMwYoxAKjEgaMOb005lzCD3McciVxmJvHdEJJgMnCKacAaxUztnRuedkmFzPjuEuZckoVyrjXOuLYG5Nysi3G2GmwM8Cy1BnLXW8uIYK9Z4rOHLPlb05V6rMo6uNfu68FrbWOswGs91ljjM+vmQG95njfm+N6KTsrCb6dpsw1m7ncKC2i7LdLnrdb1da710bs3NL2wMvbBO7p14RoDOXeM0V8zeGyvWcezViQDWmt6Y+3Z2j33HO4iY39tzKj+tec0T57RcSAv6Mh6naHe3Yc53mwXJHK3UeV3R1tnb2PW6HbmcoMoXaju9OUP00wPa-XcE-J+EA5AQAQEwEaaAihkCgA+wABVIAga3KA9QQCKCbkAVwqtoTgDASwUzkXtWQDAH0-gQC6XQPyAA6smbZAe4CWCd5adolo7LIHAIiD3UI7h4Dt1Vnw3hkC8n5HcU3Sgggmm95uywD64DlCSEX3qpeQDl8sFCHw1oACKUxsON5L2HqZOAc-p5uFcOy5EoAe8DIcqPRQkzIELqbwMEA7hR6q5gdPgYqz2FhR71V6q4B598IXpAxfm93HQKgYPofTe7val3nv8A+-N9kFcWfhR59IEnKbkPxBUDDp8AVBPxADMwb1NymDuBICuGdzP0JGYCAA
通过 prettier 格式化你的实例代码之后没能复现你这个问题,考虑以后写代码的时候注意排版和格式。
https://prettier.io/playground/#N4Igxg9gdgLgprEAuEBLAtgBwgJxgAgBUBDHCAGn2HwGEItoECBffAHRg685+794H8OAMzLp8AcgACMUhABWAZwD0sshIDcbKBmx4q+AGqo4Ad0r4AyqdSY4OStdv2AkvHSUX6YgHM4lQjgADxZ2QXDRekkZOSVlSAYoJkVNbV1cAmoAQRgAcRxUABNKHIAZVEUYEphyyrc4D3wcgBFUADci+2qXSCh8ViEYSPE2EDUIAFoAV1RRtIZ9al6ksFDB9fCNraGxaPG4nDhCqaDUnQXM-AAjYkU4AFUXfu2Xzbf+YckAOi-lH-joMJUD4zul9BJfqgoIVgl9FGBFCktFBtFJlnBVgAKTHAAAW9DgzAAlPgALwAPnwOO0+HwPy++PQ-m0xKJ2g4wT0BBhwmIUwANgQwPzbop8AAJAn4YLwaFiuiJJhUdk8XpAnxk5UogRQYgdHzEGCoaAAIVIhFQMH5cECISQkkZcAk5BVHGYyO4vUqOCmq1wmMwZEwiiJwFdPEUUzsOADQZDHoEMFxFThsngmrD2v4NygSRwSAA2uH+BDfv8ML44Cp3JhlI6APo5vMTACMX3kmBBLqz4VLf0h3j81YatYbTfsEwATO3O87iwI++XB1XVCO6wTG8RcxOAMwzrvz7iLgeV4dYddMzfbnATAAs+4kh5gAF158xw++ewlsElYK1CgAshAUywJqmIkhSWpCD27rhtA+RFDQ-KoGAADWYGWg05BQjCQQQZSmb8F6EDWl8-IQD4mKYegRIJm64aHNC9jgVBgg9hwXqXOOOD9GEpL4EmKaVIazLseEPgFIUzSGsQ3D8U+gxFmJ2yEe8bwVn4HD2hIuIwDAwZIMoygYD4LbTjuABsAAMVxTAAniZXwJMo8iFJg+IwBAyiKAA7JOQR+fW8jCNWFkttZygtreyiTlZVkABx+QAnElt4+TFPkAKzRT5hSZWZxDxRZyiZUlmVgDuxBwHAAByhVJYUhTCD5baYFAB7KWpHBtMQ-JTHAWmSIAYRmAGvKgC0coAw-pzp1GzMN2rzcKpC08BpcDabp+mKIZxnoD4sVfJZNn2Y5zmue5ECed5fkBZOQUhaoLb5flyg7glkVWWZr2ZTuWUxa9VklZZ1UWXAwglcQt4tlFFkWTVVm3lZxBWT5t5XF8bUdct3A9X1a2SIAfkaABlGgDGRo+M1vHNClvEtXUCKt616QZRkmS2VkHdZtkObtTn0C5bkeV5vn+YFwXVpliWTjFVlJSVk4Iy2iVJVZxWThLyjxbySXxWAhQlWVFVXJOxA1ZDmWZVcSU7q17XTVjPA4-12lDYAWPKABoqZN25T5ODDTy30w6jNbczu1mezR1cz4PPoHz52XULN13dWrMwwDO6vVLlkWT5lnxZFWeS-FH3Z5lhTpaVYDxZlFm3juNVW3AFnxa9e4Y7btP8A7eMSIADaaAIMqgBpmYAi8oe+3PBe3bvuj-7OmB9tLP3odnMnbzZ0C1dwu3aLD1+c9afFS2Vuszu8XxS26VWz56U72VSNl8QYC3reYXxXVLaFFcPlXNL6M2-No-Y71R2w1AA1coAMRiR7LXHv-GAk9XjTw2kzHaPhXphyXtzU6-MLqC2uiLe6MBMqXwBklMuCtH63jKsjGKt5Jw7hiqlPKwgyp63KjuK4t5Cg1SuGACyXCyqFB-pjaB3VAFd0ANJGgAuc0AGGZEDR5QOWrA2m8DZ7Bz2mzRex10Er0wXHHBm88GPQMS9N6rNPpWW+r9GhcVAYgwbqDcGkNoaw3hojZGqMBFtztp3bSRNSZU0GHI0eCjthKM2nPEOaiOYaMjhg2O2CN6J1UOLPyUsZaZTlh9RWysYpqw1sQLWOtmEGyNibR65tLbW0EZ4kRTs3YyNeAE7Yz46JdTEocGAUwcB9ExE+AAPMYMw+BhSijqkyUkoxHQTEwJWUY5IqY9KcNGPxMAhmIhGQNWm-EJDwEqBMXEdTwhQngDgHGrxNmxTivs-gOEUKGlwHQciOBBibIAMTCDeZcum0IbmeRwFkVY7Q4D3NwBwfiwAbh3EeF8e+Ro2iApIrgT82wwCoBwGAAUpAlnXLALcnAzQLqKCWXyTymARR2Vmd7TgFKgkCGuFuPMXxvCYGxNRbCTE8JkkpN0il-B5k2GjPUcQqE4B2VJMAHCwRmDkrthwHpXhKy0kUKi0VhwACOMxDiYgAAb-CXKeVc54xx0onAAEjFWygA1C2Zg+5NVEklT05Qcq-BSugQ6hZrh3Auu2PgIkbIKWIreG6vl9gvWbHJj0nICFCj4EKDJUVEkijSVkAGpFJEpjoCgDVdNpIJC3g+fwaASEUKoVFYJRQXx4KSSLWhL4VwcKYjLXaqmyhQ3QQ2BGmoFQYCtvCB21oHQYQ8WQkkIFOBRXgoeC4KF-zYWjslUsmVOQejQHwJ3HNighXLL2fgRQqAABecAc0KwkOSB1S7eg9sGD020QoRSrOIKMnSmUT2AC45QABvKAArjQACsEOpvZegQZ6YD9s6Dgf93AO21BgAKhdelLTWhzYAcAtAAZGYAcNNADq2vmnUF1D0SEAPPGgAH+MAIfygB7A0w9wUgZBTA5oKD4XSZGeBJnTVcHNCCg5INDuoiOUcY5r3jrg0K4UAZRSlglZKqV0qTiyjlPKBUiqFMqtVOq8UGpNRau4pZLalkQa7dB7lsGrQ4eQ+h+jHAoDYZzQRkjJm1CUeo8COjMHGPoGYzPfSYTTIRPDsvaOq8sHrwTlvfBatYqpPSQrHySsVY5M1trXWpUWGG2NqbMpVt1MUs0xS7TdR3CObg4Z1DGGYNmfgBZojpGYMyhwMQG9ObABn0YAMb8rMwYoxAKjEgaMOb005lzCD3McciVxmJvHdEJJgMnCKacAaxUztnRuedkmFzPjuEuZckoVyrjXOuLYG5Nysi3G2GmwM8Cy1BnLXW8uIYK9Z4rOHLPlb05V6rMo6uNfu68FrbWOswGs91ljjM+vmQG95njfm+N6KTsrCb6dpsw1m7ncKC2i7LdLnrdb1da710bs3NL2wMvbBO7p14RoDOXeM0V8zeGyvWcezViQDWmt6Y+3Z2j33HO4iY39tzKj+tec0T57RcSAv6Mh6naHe3Yc53mwXJHK3UeV3R1tnb2PW6HbmcoMoXaju9OUP00wPa-XcE-J+EA5AQAQEwEaaAihkCgA+wABVIAga3KA9QQCKCbkAVwqtoTgDASwUzkXtWQDAH0-gQC6XQPyAA6smbZAe4CWCd5adolo7LIHAIiD3UI7h4Dt1Vnw3hkC8n5HcU3Sgggmm95uywD64DlCSEX3qpeQDl8sFCHw1oACKUxsON5L2HqZOAc-p5uFcOy5EoAe8DIcqPRQkzIELqbwMEA7hR6q5gdPgYqz2FhR71V6q4B598IXpAxfm93HQKgYPofTe7val3nv8A+-N9kFcWfhR59IEnKbkPxBUDDp8AVBPxADMwb1NymDuBICuGdzP0JGYCAA
编码格式和排版在我的IDE在是没有问题的,复制过来乱了而已。
你貌似在微信群里我直接把源文件复制给你试试看可以吗?
格式化之后你能跑吗
同样的问题,经过排查是因为这一行
<Image src={require(`../../images/temp/home_banner-${index+1}.jpg`)}></Image>
只有在运行的时候才能确定路径,需要换成编译时可确定的值。
https://github.com/NervJS/taro/blob/bcea63790cbac00d466b6618de8a4c049c84fe40/packages/taro-cli/src/weapp.js#L493
Most helpful comment
同样的问题,经过排查是因为这一行
只有在运行的时候才能确定路径,需要换成编译时可确定的值。
https://github.com/NervJS/taro/blob/bcea63790cbac00d466b6618de8a4c049c84fe40/packages/taro-cli/src/weapp.js#L493