如何在bower项目中包含javascript并使JSHint发挥作用
How to include javascript in a bower project and make JSHint work
我正在尝试使用一个bower库,该库是根据以下说明安装的:
bower install paper --save
这添加了一个bower组件,我在index.html文件中添加了这一行:
<!-- build:js scripts/vendor.js -->
<!-- bower:js -->
<script src="/bower_components/jquery/dist/jquery.js"></script>
<script src="/bower_components/paper/dist/paper-full.js"></script> <-- I added
<!-- endbower -->
<!-- endbuild -->
根据图纸使用说明,我可以将所有的绘图代码放在一个js文件中,并将其包含在内。文档不清楚在index.html中的哪里可以做到这一点,我也不太明白那些bower-build注释是关于什么的,所以我把它放在了head标签的末尾:
<script type="text/paperscript" src="scripts/script.js" canvas="canvas"></script>
</head>
问题是:我的script.js文件中的代码没有传递JSHint,甚至第一行使用了纸库中的东西,比如:
var circle = new Path();
生成警告,因为"未定义路径"。
我知道我可以告诉JSHint忽略每一个纸符号,但(a)它们很多,(b)我宁愿解决问题,也不愿掩盖它。
我是不是打算以错误的方式添加这个bower库?有没有一种方法可以添加它,以便在我的脚本中知道符号?
当你将库作为全局变量导入时,就像你对纸质库所做的那样,你需要告诉JSHint
{
"predef": [ "paper" ]
}
添加到.jshintrc
配置文件(如果有),或者将/* globals paper */
添加到使用图纸库的文件顶部;那么你应该可以做这样的事情,而不会让门楣抱怨:
var Path = paper.Path;
var circle = new Path();
避免需要定义这样的全局变量的主要方法是使用一些替代设置来加载全局变量以外的模块:有许多替代AMD(例如requireJS)CommonJS(例如Webpack)或ES6模块。
相关文章:
- 修复弹出框并使背景滚动
- Javascript将数组转换为字符串并使其反向输出
- asp经典对象到javascript对象,并使对象向下滑动
- 为什么这会造成一个无休止的循环并使我的浏览器崩溃
- HTML/JS 如何输入文本并使其显示在屏幕上
- 使用同位素插件,我可以按字符串名称过滤并使图像重叠吗?
- 将 iframe 放在博客中并使其正确适合
- 检测TAB键并使脚本执行成为条件
- 如何切换对象并使其在滚动后永久可见
- 如何在D3中添加一个强制拖动事件,并使节点停留在我离开它的地方
- Javascript创建一个图像并使其移动
- 从h1标签获取链接并使图片可下载
- 单击标记并使信息窗口可见时,它会触发bounds_changed事件.如何禁用它
- Javascript:如何为列表添加价值并使其即时更新
- 如何在CSS中将文本相互对齐并使图像宽度为屏幕
- 如何将新函数绑定到元素的 onclick 事件,并使其在所有其他绑定函数之前运行
- 将标题标签与数据库连接并使其自动刷新,就像在Facebook标题中一样
- 加载外部数据并使其保持全局JavaScript
- [传单]如何更改每个区域的颜色并使其可编辑
- 如何在bower项目中包含javascript并使JSHint发挥作用