usemin 不替换 <!--bower:js --> 块中的路径
usemin not replacing paths within <!--bower:js --> blocks
我在理解usemin(Prepare)时遇到问题,描述如下: usemin
我的理解是,使用 usemin,您可以将许多文件合并为一个文件,这在构建 JS 应用程序时是个好主意。我也了解您应该如何使用它的流程,例如:
// simple build task
grunt.registerTask('build', [
'useminPrepare',
'concat:generated',
'cssmin:generated',
'uglify:generated',
'filerev',
'usemin'
]);
然后,如果您有此代码:
<!-- build:js js/app.js -->
<script src="js/app.js"></script>
<script src="js/controllers/thing-controller.js"></script>
<script src="js/models/thing-model.js"></script>
<script src="js/views/thing-view.js"></script>
<!-- endbuild -->
concat 任务会将所有这些文件合并为一个名为 app.js 的文件,并将其放在.tmp文件夹中。然后 uglify 任务将从 .tmp 文件夹中获取文件应用程序.js,丑化其中的所有 js,并将其放入 dist-folder。
假设在useminPrepare之前,我有另一个任务,它将原始html(index.html)也转换为dist文件夹。现在,当 usemin 任务启动时,我已将其设置为使用 dist 文件夹,并且它应该用对生成的 app.js 的引用替换旧块。所以现在,在 dist 文件夹内的 html 中,相同的部分应该看起来像这样:
<script src="js/app.js"></script>
这是对的吗?所以现在不应该留下任何评论标签了吗?现在我有一个与使用有关的问题。情况是这样的:在开始的html中,我在usemin标签中具有用于bower_components(bower-install)的评论标签,如下所示:
<!-- build:js js/app.js -->
<script src="js/app.js"></script>
<script src="js/controllers/thing-controller.js"></script>
<!-- bower:js -->
<script src="bower_components/something/some_bower_component.js"></script>
<script src="bower_components/something/some_bower_component.js"></script>
<script src="bower_components/something/some_bower_component.js"></script>
<!-- endbower -->
<script src="js/models/thing-model.js"></script>
<script src="js/views/thing-view.js"></script>
<!-- endbuild -->
使用此设置,一切似乎都很好,直到最后的usemin任务。usemin 任务现在无法替换代码块。我已经确定了它不能的原因。这是因为我在那里有那些鲍尔评论块。因此,如果我单独执行第一个任务,然后将代码传输到 dist,然后删除那些 bower 注释标签,并在构建中创建其余标签,那么一切正常。我想解决这个问题,以便我可以直接运行所有任务。我该如何解决这个问题?为什么 usemin 如果看到注释块会失败?我可以更改 usemin 选项以忽略评论块吗?或者我应该写一个咕噜咕噜的任务,在注入 bower 组件并将 html 转移到 dist 后删除那些特定的注释块?我拥有的版本是:
"grunt-bower-install": "~0.7.0",
"grunt-concurrent": "~0.4.1",
"grunt-contrib-clean": "~0.5.0",
"grunt-contrib-coffee": "~0.7.0",
"grunt-contrib-compass": "~0.6.0",
"grunt-contrib-concat": "~0.3.0",
"grunt-contrib-connect": "~0.5.0",
"grunt-contrib-copy": "~0.4.1",
"grunt-contrib-cssmin": "~0.7.0",
"grunt-contrib-htmlmin": "~0.1.3",
"grunt-contrib-uglify": "~0.2.0",
"grunt-usemin": "~2.0.0",
看到这个答案:grunt usemin 不会影响 html 文件(index.html)
我自己刚刚遇到了这个问题,我的解决方法是将所有行尾转换为 unix 样式的行尾 (lf),并避免在由 grunt usemin 转换的任何文件中出现 Windows 行尾
- 如何在d3.js中返回路径的y坐标
- JS文件的路径正在消失
- D3.js剪辑路径截断了我的图的边缘
- googlemarkercluster.js库的备用源路径是什么
- 最短路径算法js错误
- 如何在three.js中加载指定文件内容而非路径的三维模型
- 如何为JS模块添加包含路径
- 调用后端、多路径变量、Ext Js
- jquery移动应用程序无法使用jquryMobile框架JS和css文件的相对路径
- Vivus JS似乎没有动画某些<路径>节点
- 在 Node 中.js释放 zalgo 的设计模式为什么异步路径是一致的
- 将ng2图表添加到Typescript/ Angular 2项目引用路径和.js文件的路径不正确
- 纸张.js路径数据动画在帧和鼠标拖动
- dust.js:在作用域部分中使用路径
- Require JS with Knockout组件正在查找路径不正确的JS文件
- nodemon找不到模块'/路径/to/project/home/index.js'
- 如何将本地文件路径转换为文件::?/url在node.js中的安全性
- Raphael JS选择路径/对象/节点的特定实例
- React.js.Error:<路径>属性d
- 如何使 MathJax 的源代码(路径.js环境依赖于