问题标签 [fusebox]

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

node.js - 如何在不包含所有不必要依赖项的情况下为 Lambda/Google Cloud Functions 打包

我不喜欢 Node 的一件事是,一旦你添加一个require("whatever"),你最终会得到 1000 个传递依赖项,这require会导致可能需要代码的可能性很小。

我想构建一个包以部署在 Google Cloud Functions(以及 Lambda 上的类似应用程序)上。我的代码导入了@google-cloud/datastore,它有很多传递依赖,其中一些有二进制文件、计算导入等。我不想遇到包大小限制或增加 Node 解析代码所需的时间. 我想使用一种打包工具来进行摇树并将我的(大部分)代码和依赖项编译到一个文件中。我希望能够指定要从哪些库中排除index.js并仅在node_modules.

因为我正在编译 Typescript 并在我的构建/测试/打包/部署过程中使用其他库,所以 node_modules 包含 100-1000 个库,其中大部分在生产中不需要。

理想情况下,我希望能够构建如下所示的东西:

  • package.json - {“main”:“index.js”,依赖项:{“@google-cloud/datastore”:“1.4.1”}}
  • index.js - 从我项目中的多个 TypeScript 文件以及我从库和传递依赖项中导入的大部分代码编译而成
  • node_modules - 所有,但仅限于 index.js 中未包含但运行应用程序所需的代码。

我创建了一个简单的演示应用程序来展示我正在尝试做的事情(目前我正在使用FuseBox):

https://github.com/nalbion/packaged-google-function/blob/master/lib/demo.js

为了从我编译的 demo.js 中排除 @google-cloud/datastore 和它的传递依赖关系,我添加了一个 filterFile:

我对输出中的行感到困惑:

Google Cloud Functions 也很困惑:

作为参考,该演示一直有效,直到我尝试添加数据存储代码:

https://github.com/nalbion/packaged-google-function/blob/no-dependencies/lib/demo.js

我怀疑 filterFile 不是为了这个目的,或者我用错了。

FuseBox 中是否有等效的过滤包?

有没有更好的方法来做到这一点?

(编辑)私人 git repos 存在一个已知问题:

https://github.com/GoogleCloudPlatform/nodejs-docs-samples/issues/300

从 Google Cloud Source Control 自动部署 Google Cloud Functions

0 投票
0 回答
98 浏览

typescript - Fusebox 原始打字稿 npm 发布与 sass react css 模块

我正在开发一个由两部分组成的打字稿,sass + react css 模块项目,由一个库模块和一个消费者项目组成,我刚刚从 webpack 转移到 fuse-box 进行捆绑(使用起来更容易和更快!)

在 Fusebox 的文档(https://fuse-box.org/page/publishing-to-npm)中,他们建议为库发布原始打字稿,以便摇树效果更好,这是我想做的事情,因为我在 inversify 中使用依赖注入,所以当我创建更多消费者项目时,我不会总是使用库中的所有内容。

按照指南进行这项工作很好,但我不确定如何处理库项目中的反应 css 模块的 scss 文件。

scss 文件是否也应该以原始方式发布,以便消费者可以一次性编译它们,还是应该为发布而编译它们?

0 投票
0 回答
296 浏览

coldfusion - CFML / Fusebox:/parsed 文件的几个问题和错误

有一个 Fusebox 5.5.1 应用程序的实时和开发环境。最后一个一切正常。直到一周前,现场版本也正常工作。两者之间的代码没有变化。然后,出现以下错误信息:

cfcatch 标记的上下文验证错误。
该标记必须嵌套在 CFTRY 标记内。
错误发生在:C:/home/domain.com/wwwroot/live/parsed/example.view.cfm

我检查了两个解析文件,并注意到实时版本生成的文件略有不同,尽管程序代码是相同的。

我删除了所有/parsed文件,并从开发人员进行了全面更新。这没有用。

Fusebox 根据目录生成应用程序名称。当我将目录名称从 更改/live为 时/livex,它突然又起作用了。当我恢复原始名称时,错误再次出现。

该错误可能已修复,因为它是由于名称更改而导致的“新”应用程序,并且可能部署了新的或不同的服务器资源?


此外,还有一个问题:

意外的属性 在 fuseaction person.$prefuseaction 的“xfa”动词中发现了意外的属性。

在这种情况下,根本不会创建 / 解析的文件。这是相同的情况,live 和 dev 是相同的,dev 工作和 live 不是。我什至删除了所有xfa变量,并将它们替换cfset为文件的 PreFuseAction 区域circuit.xml。它在 /dev 中仍然有效,但在 /live 中仍然出现同样的错误。

Live 版本现在又回到了生产模式,我将所有/parsed文件从 dev 复制到 live。现在这对这两个错误都有效,但仅在实时应用程序生成新/parsed文件之前。

有谁知道那里发生了什么?


这是来自 CF 管理员的一些服务器信息

系统信息/服务器详细信息

  • 服务器产品 ColdFusion 2016
  • 版本 2016.0.05.303689
  • Tomcat 版本 8.5.11.0
  • 企业
  • 操作系统 Windows NT(未知)
  • 操作系统版本 10.0
  • 更新级别 C:/ColdFusion2016/cfusion/lib/updates/chf20160005.jar
  • Adobe 驱动程序版本 5.1.4(内部版本 0001)
0 投票
1 回答
133 浏览

coldfusion - Internet Explorer 11 和 Edge 中不可用的表单域

提交了一个登录表单,当我尝试转储值时,表单结构在 IE 中为空,但在 FF 或 Chrome 中不是。这是在使用 HTTPS 和企业自签名证书的 DEV 环境中。

我真的不认为这与 Fusebox 相关,但它是我正在使用的框架。在这件事上别无选择,因为它是遗留代码,也没有预算来改变它,所以请不要建议我继续前进。

我发现在 IE 中它不喜欢表单操作的格式:

相反,它想要一个完全合格的动作

https://www.mycompany.com/directory/index.cfm?fuseaction=app.Security

0 投票
1 回答
274 浏览

coldfusion - 如何使用 Coldfusion 设置 fusebox 5 框架?

我从https://github.com/fusebox-framework/Fusebox-ColdFusion获得了 fusebox 框架文件。我正在尝试在 cf 2018 中使用简单的 Coldfusion 应用程序来设置 fusebox 框架。我跟着 youtube 视频 ( https://www.youtube.com/watch?v=jnBpKegsO3Q ) 学习。

但是现在我遇到了错误Could not find the ColdFusion component or interface fusebox5.Application.

在下载的文件夹中,我没有 fusebox5 文件夹。我不知道该怎么做。如果您有任何文档链接,请提供给我。我是冷聚变技术的新手。所以,请指导我正确设置保险丝盒和 CF 的方法。

谢谢朋友!

0 投票
0 回答
30 浏览

javascript - Fusebox 无法识别 sourceRoot 的属性设置

我继承了一些我无法更改的 javaScript/typeScript 代码。

使用:

  • 保险丝 v0.4.0
  • 保险丝盒 v4.0.0,
  • 打字稿4.1.3
  • 我正在生成一个 bundle & sourceMap (bundle.js, bundle.js.map)

此 sourceMap 有效,但仅当我对 bundle.js.map 中的“源”进行文本替换时

  • 发现 :src/

    • {"版本":3,"来源":["/src/lib/development.ts","/src/lib/server.ts"
  • 替换为:../../

    • {"version":3,"sources":["../../lib/development.ts","../../lib/server.ts"

根据文档,我应该能够在 fuse.js 中设置 sourceRoot 属性。但无论我设置什么值,bundle.js.map 的输出都不会受到影响。

我的文件夹树如下所示:

...其中“构建”是我的 sourceRoot

我的 fuse.js 看起来像这样: