Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/460.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用webpacker gem导入rails 5中的javascript模块_Javascript_Ruby On Rails_Ruby_Vue.js_Webpack - Fatal编程技术网

如何使用webpacker gem导入rails 5中的javascript模块

如何使用webpacker gem导入rails 5中的javascript模块,javascript,ruby-on-rails,ruby,vue.js,webpack,Javascript,Ruby On Rails,Ruby,Vue.js,Webpack,大家好 我是Vue.js的新手,我正在使用webpacker gem在rails 5中试用Vue.js。在一个新的rails 5应用程序中,我加入了webpacker gem-to-gem文件,安装了webpacker,然后安装了vue.js,就像这样 rails webpacker:install rails webpacker:install:vue import 'GoogleMapsApi'; 两个组件都已安装,当我启动服务器时,一切正常,并显示“Hello Vue”等

大家好

我是Vue.js的新手,我正在使用webpacker gem在rails 5中试用Vue.js。在一个新的rails 5应用程序中,我加入了webpacker gem-to-gem文件,安装了webpacker,然后安装了vue.js,就像这样

 rails webpacker:install
 rails webpacker:install:vue
     import 'GoogleMapsApi';
两个组件都已安装,当我启动服务器时,一切正常,并显示“Hello Vue”等。仅供参考,我还使用“foreman”gem启动rails服务器和webpack dev服务器

现在的问题是,我试图将“GoogleMapsApi.js”加入到这个项目中,但我发现很难导入这个模块。这是一个javascript模块,它位于Github上,基本上加载Google Maps Api。我下载并复制到下面的目录

{Rails.root}/app/javascript/packs

这就是我的“app.vue”的样子。ps此文件是在我使用webpack安装命令安装vue时创建的

   <template>
     <div id="app">
       <div id="map_canvas"></div>
     </div>
  </template>

<script>   
    export default {
      el: '#app',
      data: function () {
        return {
          message: "Helloooooo Vue!"
        }
      },
      mounted(){

        const gmapApi = new GoogleMapsApi();
          gmapApi.load().then(() => {

        var myOptions = {
          zoom: 10,
          mapTypeId: google.maps.MapTypeId.ROADMAP,
          center: new google.maps.LatLng(-26.29217,28.070820000000026)
        }
        this.map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);

        });
      }
    }
</script>
所以当我运行foreman时,我得到了这个错误

    ERROR in ./app/javascript/packs/application.js
    Module not found: Error: Can't resolve 'GoogleMapsApi' in '/home/diego/Sites/vue-demo/app/javascript/packs'
我所使用的实际应用程序使用cdn脚本标记将vue和google maps拉入,但我发现它们不可靠,因为有时google maps加载,有时不加载

因此,我正在尝试webpacker,但如果在新的应用程序中无法实现,请想象一下现有的应用程序


请帮助,谢谢

你的application.js尝试在此处找到GoogleMapsApi.js文件:
../vue demo/app/javascript/packs
。你把这个文件放在packs文件夹里了吗?我有“GoogleMapsApi”文件夹,其中包含“GoogleMapsApi.js”,我还创建了一个“index.js”,我如何编辑这篇文章?我没有看到任何链接,我也找到了这个并尝试了它,但我仍然无法导入:(