问题标签 [grunt-wiredep]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
231 浏览

gruntjs - 注入前如何更改路径

是否可以在注入发生之前更改注入文件的路径?

我正在使用 Grunt/Bower/Connect/Wiredep,我的目录结构是:

(注意:在我添加的 .bowerrc 文件中directory: vendor

当我运行自定义任务grunt serve:dev时,它将创建目录dev-dist,然后我将我的 index.html(仅)复制到文件夹,然后运行任务wiredep

运行后wiredep,我的依赖项的 src 路径都以 '../vendor/' 为前缀。问题是当我运行时connect我有选项base: ['vendor', 'dev-dist', 'src']。当一切都被提供时,供应商的相对路径没有任何意义,因为供应商目录已经在根目录中提供。

有没有办法在wiredep注入文件之前修改注入文件的路径?(所以我可以删除'../vendor')

我希望发生的是从同一个工作区能够运行grunt serve:*和指定 dev/stage/prod 环境。这就是为什么我不想为整个 www 目录提供服务。

有没有办法在连接中排除文件夹?(因此,我可以排除 stage-dist / prod-dist 文件夹,而不是指定 base:[...])

谢谢,

京东

0 投票
0 回答
123 浏览

gruntjs - 如何将 grunt 配置为不忽略任何路径

grunt-wiredep 任务正在../从所有路径中删除。

例如:

变成

我想../被维护。但是,如果我设置ignorePath为空白字符串(一个空格字符)或删除 ignorePath参数,则 HTML 中不包含任何 javascript 文件。

0 投票
2 回答
4709 浏览

javascript - 缺少 Bower 组件

我正在尝试利用 grunt-wiredep 将任何 Bower 组件自动注入到我的 html 中。非常简单,但我不确定在运行本地主机时如何设置正确的 bower 目录路径。目前我收到以下错误:

这是我的结构

项目

应用程序(包含 sass、js、html 等...)

bower_components

节点模块

鲍尔.json

包.json

Gruntfile.js

HTML 文件

咕噜声文件

0 投票
1 回答
1109 浏览

gruntjs - Grunt Wiredep 注入 Bower 组件问题

我正在使用 grunt 任务wiredep 将我所有的凉亭组件注入我的 index.html 并遇到一些问题。我正在尝试像这样开始非常基础-

在索引中我只有

其他所有内容都已正确注入,但是当我运行任务时出现此错误。

调试时遇到问题 - 可以使用任何帮助!

我也有我的 .bowerrc 指向正确的目录(我认为)

0 投票
3 回答
1993 浏览

gruntjs - Gruntwiredep可以缩小HTML文件中的版本吗

是否可以使用 Gruntwiredep 插件在 HTML 页面中注入缩小版本的依赖项?

0 投票
1 回答
930 浏览

angularjs - 角度 ng-view 无法正确解析 CSS 文件路径

我有一个带有 ng-view 的角度应用程序设置。我有 1 层和 2 层深的路线,例如:

我正在使用 html5 模式删除 scotch 路由,因此我的路由呈现为“localhost:9000/sample”而不是“localhost:9000#/sample”

我还使用节点 modrewrite 服务器来启用 html5 模式,因此我可以使用 connect-modrewrite npm 模块和以下 grunt 配置接受指向我的 url 中的深层链接的直接链接(例如 localhost:9000/sample/id) :

我在标题中定义了 css 文件,例如:

在我的应用程序中路由时,这工作正常。当我接受一级深度的直接链接时,它也可以工作,因此直接导航到“localhost:9000/sample”将呈现一个页面。但是,当我使用直接链接到 2 级深度的路径时,例如“localhost:9000/sample/id”,我的应用程序将无法正确呈现我的 css,并且我会看到如下控制台错误:

解决我的 javascript 依赖项没有问题,它们使用相同类型的相对路径,只是 css 的。我可以通过在样式(href="/styles/main.css")前面加一个斜杠来解决这个问题,但我不想这样做,因为它会限制我的应用程序的部署方式,而且它也是不是wiredep默认安装css bower依赖项的方式。是否有一些 angular-ng-view 友好的方式来确保我的 css 文件路径可以正确解析,而不管我在哪条路线上?

0 投票
1 回答
865 浏览

javascript - 为什么wiredep 不断删除我的凉亭组件?

每当wiredep grunt 任务运行时,它都会删除socketio。

我已经通过安装 socketio

包裹在我的bower.json

当我运行时,bower install没有任何变化。

该应用程序在我的 mac 上构建良好,但出于某种疯狂的原因,它不断删除 socketio 并且无法在我的 ubuntu 机器上构建。

0 投票
1 回答
778 浏览

gruntjs - 对具有不同依赖项的多个文件执行 grunt-wiredep

目前的项目结构有点像这样:

建议的项目结构将在项目根目录中添加更多静态 html 文件。到目前为止,我一直在管理 bower.json 中的所有前端依赖项,并使用 grunt-wiredep 任务将其自动包含在 index.html 中。但是随着新文件的添加,每个文件都会有不同的依赖关系。

管理这些具有不同 Bower 依赖项的文件的有效方法是什么?

0 投票
1 回答
1861 浏览

jquery - jQuery dependency above Angular one: WARNING: Tried to load angular more than once

I am working on a Yeoman Angular-generated folder. I installed through Bower a module that requires jQuery. Grunt's wiredep places the jQuery dependency above the AngularJS in the index.html, as follows:

This seems reasonable, as jQuery doesn't depend on Angular.

The thing is that when I try to load my app in the browser, I get the following message in JS console:

If I manually swap the jQuery dependency with the angular one at index.html, everything works like a charm, but when I grunt build my app, default order is set, so I can't get the working configuration in the dist folder.

bower.json:

Really appreciate your help here!

0 投票
1 回答
872 浏览

javascript - 使用 grunt 和 dist 项目文件夹进行开发和部署时如何管理 bower 依赖项?

我正在尝试建立一个带有 bower 依赖项的 Grunt 项目,它有两个任务:developmentdeploy。项目文件夹结构目前如下所示:

我目前正在使用grunt-wiredep自动将 bower 依赖项包含在dist. 我试图将其保留bower_componentsdist文件夹之外以保持开发和部署的分离(即使在开发期间该站点是从 提供的dist)。

因为我是新手,所以我在制定正确的 grunt/bower 模块以及开发和部署的最佳实践方面完全没有想象中的失败(是的,Yeoman 处理了很多,但我正在努力学习)。我目前的愿景是:

  1. Connect 提供dist文件夹中的 HTML 页面。
  2. 在开发中,凉亭组件将自动包含在页面中(wiredep),但需要从dist文件夹中提供(grunt-wiredep-copy)。
  3. 在部署中,bower 组件将获取缩小版本并将它们与项目 JS 和 CSS 文件连接起来,或者只是将 bower 组件连接到单个 JS 和 CSS 文件中。

我的问题是:在开发中使用 Bower 组件的(或一种)好方法是什么,并使用最少的grunt-contrib-copy / grunt-contrib-concat / grunt-string-replace或此类模块来部署目标以移动文件并重写HTML 参考资料?或者这一步是否总是有很高的手动元素 - 这对我来说似乎很奇怪,因为凉亭和咕噜声像肯德基薯条和“土豆和肉汁”一样一起出现。

JS 和 LESS/CSS 连接很容易,每种类型都有各自的 uglify 和 minify grunt 模块。Bower 文件被排除在这些进程之外,并且wiredep 和wiredepCopy 似乎没有为部署任务提供“清理”(缩小/连接和更新HTML 文件中的相应链接)的简单方法。在开发任务期间,wiredepCopy 甚至不会将 HTML 中的引用更新到移动的文件,这对我来说似乎很奇怪(并且请求拉取请求)。也许wiredep不是前进的方向?谢谢!