【发布时间】:2018-06-14 12:14:22
【问题描述】:
我正在学习(修补)ES6 模块和 Vue.js,单文件组件 (SFC)。我通过 webpack-simple 模板使用 Vue CLI 构建了我的项目。我在“settings.mainAlarm.name”行收到错误“TypeError:无法读取未定义的属性“名称””。 “npm run dev”不会抛出任何错误,所以我相信构建步骤正在查找(并且可能忽略)settings.js 文件。将可重用 JavaScript 导入 Vue SFC 的最佳方法是什么?
Root.vue 文件:
<template>
<div id="app">
<h1>{{ msg }}</h1>
<h4>{{ alarmName }}</h4>
</div>
</template>
<script>
//const settings = mainAlarm;
import settings from './lib/settings.js'
export default {
name: 'app',
data () {
return {
msg: 'Welcome to Blah Blah Blah!',
alarmName: settings.mainAlarm.name
}
}
}
//console.log(this.alarmName);
</script>
<style>
</style>
./lib/settings.js 文件:
export default function () {
var rtn = {
mainAlarm: {
name: "overdueCheckAlarm",
info: { delayInMinutes: .01, periodInMinutes: .25 }
},
notificationAudioFile: "ache.mp3",
baseUrl: "www.xxx.com/xx/xxxx-xxx/"
}
return rtn;
}
【问题讨论】:
-
您导出的是函数而不是对象。
标签: javascript vue.js vuejs2 vue-component es6-modules