如何从客户端使用spin.js(Javascript,Node)

时间:2018-05-14 16:39:18

标签: javascript node.js npm spin.js

我正在尝试使用来自客户端的spin.js(https://spin.js.org/#!),但我遇到了一些问题。

npm install spin.js

然后

const Spinner = require('spin.js');

不起作用,因为您需要浏览模块以便从客户端使用该模块。

我也尝试复制并通过spin.js(https://spin.js.org/spin.js)并从html中引用它但是它在spin.js中给了我一个错误

export { Spinner };

作为

Uncaught SyntaxError: Unexpected token export

从客户端使用spin.js需要什么?

1 个答案:

答案 0 :(得分:2)

好的,我明白了。

你要做的是:

将spin.js文件复制到本地文件系统中(称之为spin.js) 并引用html文件中body标签末尾的本地spin.js。

...
<script type="text/javascript" src="js/spin.js"></script>
<script type="text/javascript" src="js/scriptWithSpinner.js"></script>
</body>

注释spin.js中的以下行。

export { Spinner };

https://spin.js.org/spin.css复制CSS并将其存储在本地文件系统中。请参阅html文件标题中的CSS。

<head>
    <meta charset="utf-8">
    ...

    <link rel="stylesheet" type="text/css" href="mystyles.css" />
    <link rel="stylesheet" type="text/css" href="spin.css" />
    ...
</head>

如果您使用express,则可能需要在服务器代码中使用js和CSS公开目录,以便html文件可以读取它。

现在您可以直接使用scriptWithSpinner.js中全局定义的Spinner对象,无需导入或需要。

scriptWithSpinner.js

var opts = {
  lines: 13, // The number of lines to draw
  length: 38, // The length of each line
  width: 17, // The line thickness
  radius: 45, // The radius of the inner circle
  scale: 1, // Scales overall size of the spinner
  corners: 1, // Corner roundness (0..1)
  color: '#ffffff', // CSS color or array of colors
  fadeColor: 'transparent', // CSS color or array of colors
  speed: 1, // Rounds per second
  rotate: 0, // The rotation offset
  animation: 'spinner-line-fade-quick', // The CSS animation name for the lines
  direction: 1, // 1: clockwise, -1: counterclockwise
  zIndex: 2e9, // The z-index (defaults to 2000000000)
  className: 'spinner', // The CSS class to assign to the spinner
  top: '50%', // Top position relative to parent
  left: '50%', // Left position relative to parent
  shadow: '0 0 1px transparent', // Box-shadow for the lines
  position: 'absolute' // Element positioning
};

var target = document.getElementsByClassName('uploader')[0];
var spinner = new Spinner(opts).spin(target);