NodeJS Express功能未定义

时间:2017-12-07 10:55:26

标签: javascript node.js express ecmascript-6 geofencing

我要做的就是在浏览器控制台中执行geoAutocomplete,这样我就可以从表单中控制日志值。我收到ReferenceError: geoAutocomplete is not defined错误。

const GooglePlaces = require('google-places');
const places = new GooglePlaces("myapikey");

function geoAutocomplete(input, lat, long) {
    console.log(input, lat, long);

    //const dropdown = places.autocomplete(input);
}

export default geoAutocomplete;

myApp.js

import '../sass/style.scss'
import geoAutocomplete from './modules/geoAutocomplete'

geoAutocomplete( document.querySelector('#address'), document.querySelector('#lat'), document.querySelector('#long') );

layout.pug

    script(src='/javascript/vcaApp.js' type='module')
form(method='POST' action='/addGeofence')
                    h3 Add a Geofence
                    div.input-field
                        label(for='address') Address
                        input(type='text' id='address', placeholder='Address',
                        required='true', autofocus='true' name='address')
                    div.input-field(style="display: none;")
                        input(type='number' id='lat', placeholder='Address',
                        autofocus='true' name='lat')
                    div.input-field(style="display: none;")
                        input(type='number' id='long', autofocus='true' name='long')

1 个答案:

答案 0 :(得分:2)

只需使用module.exports / require即可。由于您不知道如何在浏览器中运行代码,因此很难确定错误产生的位置(此处不支持requireimport )。

最简单的方法就是使用

module.exports = getAutocomplete;

并导入其他文件中的函数

const geoAutocomplete = require('./modules/geoAutocomplete');

你的es6前编译器/转换器/无论什么都可以解决这个问题。