问题标签 [grunt-browserify]

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 回答
58 浏览

node.js - 将 ES6 表示的 Node 文件打包到单个 Node 模块中

我有一组相互依赖的 Node.js 模块,我一直将它们构建为 ES6 模块,理想情况下,我希望能够将单个模块指定为入口点,并将这些(使用 grunt)构建到一个可以节点应用程序需要。

grunt-babel 似乎无法处理这种包装。

我知道 browserify 可以为浏览器执行此操作,并且我知道 browserify 可以包含 Node 模块,但我无法弄清楚如何让 browserify 将单个模块入口点转换为需要的 Node 模块。

因此,如果我的源文件(和入口点)src/hello.js是:

并且src/world.js是:

我希望它能够从普通的 Node 应用程序中使用它,例如:

我的 grunt 文件需要是什么样的?

0 投票
1 回答
507 浏览

javascript - grunt-browserify Path must be a string error

我正在尝试运行grunt-browserify。我不断收到“路径必须是字符串”错误。

这是我的browserify任务:

这将返回一个Path must be a string错误。但是,如果我files改为

"build/Hotspot.js" : ["/lib/**/*.js"]

任务运行,但似乎没有任何代码被转译或捆绑。build/Hotspot.js只是标准的 browserify 错误处理,仅此而已。

我在设置时做错了Gruntfile什么吗?

编辑1:我应该注意到它lib/存在并且里面有文件。此外,"./lib/**/*.js"产生相同的错误。

0 投票
1 回答
59 浏览

javascript - CKEditor 资产使用 shimmed package.json 和 grunt-browserify 缓存

我正在填充 CKEdtior 以在我的 CommonJS 模块化 JavaScript 包中使用。我遇到的问题是 CKEditor 资产被缓存在某处。我认为它是browserify,但我不完全确定。

缓存的资产是这样的:

这个资产不是手动放到页面上的,它是由CKEditor在JS模块运行时生成的。

如上所示,查询字符串缓存资产。但是,如果我更新 config.js,资产仍会被缓存并提供旧版本。即使我重新构建了我的 javascript 模块,查询字符串缓存也保持不变,并且我被旧资产困住了。

有没有办法打破它?还是我做错了?

包.json

JS模块

0 投票
1 回答
224 浏览

javascript - Browserify多个转换错误

尝试使用 browserify 运行多个转换。

我在目录中有以下文件

  • 开发者.json
  • 阶段.json
  • prod.json
  • index.js

json 文件是特定于环境的配置文件。

index.js:

var mode = process.env.APP_ENV; module.exports = require('./' + mode + '.json');

我正在使用 envify 转换在 dev/prod/stage 和配置之间进行选择以评估动态表达式。

如果我只是运行 envify 它可以正常工作,但是当我使用 envify 和 configurify 时,我收到一条错误消息,提示“./undefined.json”未找到。

在此处输入图像描述

任何帮助表示赞赏。

0 投票
0 回答
86 浏览

node.js - shimming linkurious - 如何配置?

我正在尝试使用链接库(一个 sigma fork),它提供了一个"main": "dist/sigma.require.js"(在package.json. 这让我可以这样做:

var sigma = require('linkurious');

但是,插件不包括在内,所以我必须单独要求它们。问题是插件依赖于sigma全局范围内可用的变量。因此,我将以下内容(来自package.json)进行了填充:

其中,当在浏览器中运行时,在包含插件期间不会产生错误(我认为这意味着全局变量可用)但对插件的引用失败(好像它们未能自行附加,或将自己附加到非全局变量)。

我正在使用 grunt-browserify 运行我这样配置的进程(来自Gruntfile.js):

我已经在这个问题上附加了一个小项目,用最少的代码来演示这个问题,希望其他人可以复制/解决这个问题。解压,键入npm install; npm start并运行浏览器http://localhost:8002/以查看问题。

提前致谢,

埃基斯

西格玛.zip

- 编辑我 -

顺便说一句,git repo 上的 bentrucker(参见:https ://github.com/thlorenz/browserify-shim/issues/215 )建议我需要进行全局转换。有人向我解释说,匀场对文件不起作用node_modules,对于那些我需要全局转换的文件。这对我来说没有多大意义,因为填充的全部意义在于您不拥有正在填充的代码。无论如何,bendrucker 向我指出了另一个 SO 帖子,其中提出了问题但没有提供答案。

帮助?

0 投票
1 回答
147 浏览

javascript - 转译的 es6 脚本错误

将我的网站从 rails 移动到 wordpress,我正在尝试转换我的 es6 脚本。但是我的转译文件根本没有做任何事情,经过一天的搜索,我被困住了。

我将从第一个 es6 组件的摘录开始:

这是调用组件的 main.js:

这是js文件夹浏览器化的结果。我可以看到这个错误Cannot call a class as a function,但不知道如何处理它。

我使用 Grunt 来简化流程,使用 browserify 和 babelify(es2015 预设)。这是我的 gruntfile.js 配置。

0 投票
0 回答
114 浏览

npm - 使用 grunt-browserify 忽略依赖

我将 Malsups Cycle2 库“需要”到一个依赖于 jQuery 的项目中,但是,我想将 jQuery 排除在捆绑之外,因为我将单独包含它。

目前我的 package.json 有:

我的 gruntfile.js 有这个:

在我的 JS 文件中,我只有:

然而 jQuery 仍然被捆绑。

0 投票
0 回答
92 浏览

angular - SPA 从 Angular 1.5 增量升级到 2

我按照https://angular.io/docs/ts/latest/guide/upgrade.html#使用来自“@angular/upgrade/static”的 UpgradeModule。

Grunt-ts 用于转译 TypeScript 文件。该应用程序还使用 grunt-browserify 进行编译。当 grunt 运行时,它会在 grunt-browserify 中抛出错误,并显示以下消息:

我在 grunt-browserify 选项中添加了 babelify:

但是我仍然遇到指向@angular/upgrade/static.js 的相同错误

谢谢!

0 投票
0 回答
328 浏览

backbone.js - Grunt-browserify 外部库给出:找不到模块

我正在使用 Backbone Marionette 开发应用程序,并且正在使用 grunt-browserify 3.8 构建我的文件。Backbone、Marionette、下划线和 jQuery 是通过 npm 添加的。我正在将所有文件编译到一个文件中。一切正常,但构建速度极慢(比如 1.5 分钟),所以我读到了external在 grunt-browserify 中使用配置选项的信息。现在构建速度非常快但是当我访问我得到的页面时: Uncaught Error: Cannot find module 'underscore'当我第一次使用我的 require 函数时

我到处阅读,但我无法找出 grunt-brwoserify 的正确配置。

这是我的 GruntFile:

这是我的 Browserify 任务:

这里是我需要库的第一个观点:

看起来库甚至没有在我的app-bundled.js文件中编译。编译它们的最佳/正确方法是什么?最好有两个单独的文件?库和应用程序?是否可以使用 npm 中的库只处理一个文件?

0 投票
0 回答
47 浏览

javascript - 无法将 $scope 添加到 angularjs 中的服务?

我的代码angular service

我正在使用初始化服务

角度应用程序定义是

我得到的错误是

未知提供者:$scopeProvider <- $scope <- auth

该项目正在使用browserify我在哪里出错?