Rails:如何安装particles.js?

时间:2015-07-10 11:23:05

标签: javascript ruby-on-rails

我想在我的应用上实现这个,但我不知道如何安装它?你可以一步一步地发布,这样我就可以理解要放在哪里的文件,因为我试图按照github页面上的说明操作并且没有成功。

http://vincentgarreau.com/particles.js/#default

index.html - >我把代码放在 views / layouts / application.html

<div id="particles-js"></div>

<script src="particles.js"></script>

app.js - &gt;我把它放在 assets / javascript / application.js

/* particlesJS.load(@dom-id, @path-json, @callback (optional)); */
particlesJS.load('particles-js', 'assets/particles.json', function() {
  console.log('callback - particles.js config loaded');
});

particles.json - &gt;我把它放在 assets / javascript / application.js

{
  "particles": {
    "number": {
      "value": 80,
      "density": {
        "enable": true,
        "value_area": 800
      }
    },
    "color": {
      "value": "#ffffff"
    },
    "shape": {
      "type": "circle",
      "stroke": {
        "width": 0,
        "color": "#000000"
      },
      "polygon": {
        "nb_sides": 5
      },
      "image": {
        "src": "img/github.svg",
        "width": 100,
        "height": 100
      }
    },
    "opacity": {
      "value": 0.5,
      "random": false,
      "anim": {
        "enable": false,
        "speed": 1,
        "opacity_min": 0.1,
        "sync": false
      }
    },
    "size": {
      "value": 10,
      "random": true,
      "anim": {
        "enable": false,
        "speed": 80,
        "size_min": 0.1,
        "sync": false
      }
    },
    "line_linked": {
      "enable": true,
      "distance": 300,
      "color": "#ffffff",
      "opacity": 0.4,
      "width": 2
    },
    "move": {
      "enable": true,
      "speed": 12,
      "direction": "none",
      "random": false,
      "straight": false,
      "out_mode": "out",
      "bounce": false,
      "attract": {
        "enable": false,
        "rotateX": 600,
        "rotateY": 1200
      }
    }
  },
  "interactivity": {
    "detect_on": "canvas",
    "events": {
      "onhover": {
        "enable": false,
        "mode": "repulse"
      },
      "onclick": {
        "enable": true,
        "mode": "push"
      },
      "resize": true
    },
    "modes": {
      "grab": {
        "distance": 800,
        "line_linked": {
          "opacity": 1
        }
      },
      "bubble": {
        "distance": 800,
        "size": 80,
        "duration": 2,
        "opacity": 8,
        "speed": 3
      },
      "repulse": {
        "distance": 400,
        "duration": 0.4
      },
      "push": {
        "particles_nb": 4
      },
      "remove": {
        "particles_nb": 2
      }
    }
  },
  "retina_detect": true
}

2 个答案:

答案 0 :(得分:3)

我无法用gem设置它,但我让它适用于接下来的步骤:

  1. 下载Particle.js文件,这将为您提供JS文件以及json文件,如果您将其保存在公共文件夹中或更好,如果您将其存储在服务中,将会更好亚马逊S3。 因此,第一步是将副本存储到供应商文件夹中的 particles.js 文件中。

        your_project/vendor/assets/javascripts/particles.js 
    
  2. 之后,您需要修改assets.rb文件,该文件存储在 config / initializers / 文件夹中。

      your_project/config/initializers/assets.rb
      
        Rails.application.config.assets.paths << Rails.root.join('vendor', 'assets', 'javascripts') 
        Rails.application.config.assets.precompile += %w( .js .es6 )
      
    
  3. 将JSON文件插入公共文件夹中,或者如果可以的话,最好在Amazon S3服务中按照我的说法存储它。这将为您提供适合我们的路线。

  4. 转到主文件夹并在应用程序的javascript资源中,打开 application.js 文件并插入下一个更改。这可能与您的配置有所不同:

      //= require jquery
      //= require jquery_ujs
      //= require tether
      //= require bootstrap-sprockets
      //= require turbolinks
      //= require particles
    
  5. 请记住,当您在其上使用资源时,不需要指向供应商文件夹,因为我们告诉Rails,在 assets.rb 文件中我们还会将一些文件上传到此文件夹。

    1. 现在,将正在运行的代码放在主布局中。我在 footer.html.erb 文件中执行了此操作,您可以将其粘贴到任何您想要的位置。

        <script type="text/javascript">
          particlesJS.load('particles-js', 'https://s3-##-west-#.amazonaws.com/your_project/particles.json', function() {
          console.log('callback - particles.js config loaded');
       });
        </script>
      
    2. 更改您将用于存储JSON文件的第二个参数,我们几乎准备好了。还要记住,你必须填写你想要在屏幕上显示的配置

      1. id 添加到您要显示的元素中,例如:

          <div class="jumbotron jumbotron-fluid" id="particles-js">
        
      2. 一切准备就绪。

        请记住在终端中运行命令:     

              rails assets:precompile #in development environment if you want to test it. 
            

        运行:     

              RAILS_ENV=production rails assets:precompile #if you want to run as a production environment.
            

答案 1 :(得分:1)

您需要将下载的if kill -s 0 $(getPid) > /dev/null 2>&1; then # ... fi 文件复制到particles.js,并确保app/assets/javascripts中有require_tree .之类的内容。

然后,您可以安全地从布局中删除application.js,因为资源管道将加载脚本。