标签: require

如何从Ruby目录中获取文件?

我想我在这里遗漏了一些东西.我有一个这样的目录:

myapp
|-lib
  |-package1
    |-dostuff.rb
  |-package2
    |-dostuff.rb

从一个irb控制台我想测试库之前,我把它添加到我的实际项目(一个Rails应用程序).但是,输入以下内容:

require 'lib/package1/dostuff'
Run Code Online (Sandbox Code Playgroud)

返回错误,说它无法找到要加载的文件.我将lib目录添加到加载路径但我无法加载该文件.

我忘记了什么?这两个文件名不必相同,但它们是如何开始的(它们是从我需要使用soap4r调用的一些Web服务自动生成的;每个包代表一个不同的Web服务API组)

ruby require

0
推荐指数
1
解决办法
261
查看次数

找不到运行"ruby <my_script> .rb"的宝石 - 但可以在IRB中运行

当我尝试使用Ruby-command尝试访问gem时运行我的.rb文件时,我遇到了问题.我试图使用的宝石是Ruby-Whois.我有一个示例脚本,当我尝试通过"ruby whois.rb"执行它时,我收到此错误消息:

./whois.rb:6:未初始化的常量Whois(NameError)

但是,如果我在IRB中逐行运行相同的脚本,我会得到预期的结果.可能是什么原因导致的

以下是whois.rb

require "rubygems"
require "whois"

domain = "google.com"

c = Whois::Client.new
a = c.query(domain)

puts a
Run Code Online (Sandbox Code Playgroud)

ruby rubygems irb require

0
推荐指数
1
解决办法
305
查看次数

红宝石不需要工作

我是红宝石的新手,但我正在研究我的第一个红宝石计划.它目前有两个文件,一个是函数库(xgync.rb存储在其中lib),另一个是xgync存储在'bin'中的可执行文件.(项目在这里可见https://bitbucket.org/jeffreycwitt/xgync/src)我还为我创建了一个符号链接,/usr/local/bin/xgync以便我可以{arguments}从终端的任何地方编写命令xgync .

问题似乎bin/xgync取决于图书馆lib/xgync.rb.我把这个依赖写成bin/xgync如下:

$:.unshift(File.dirname(__FILE__) + '/../lib')
require "xgync"
Run Code Online (Sandbox Code Playgroud)

但是,我不断收到以下错误:

/Users/JCWitt/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require': cannot load such file -- xgync (LoadError)
from /Users/JCWitt/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
from /usr/local/bin/xgync:4:in `<main>'
Run Code Online (Sandbox Code Playgroud)

你能看到我写的东西有什么问题吗?符号链接可能会以某种方式搞砸了吗?

谢谢你的帮助 :)

ruby require ruby-1.9

0
推荐指数
1
解决办法
4573
查看次数

require() 在 Laravel 5 中不起作用

我正在使用基本的 Laravel 5 文件结构。

我基本上在 app 目录中有一些 .php 文件。我试图从 app/Http/Controllers 目录中的控制器调用它们。

require ('../../PlaylistRetrieval.php');
require ('../../Playlist.php');
Run Code Online (Sandbox Code Playgroud)

这是我的控制器中出现故障的两条线。我的 IDE PhpStorm 显示它可以识别目录。但是它抛出了一个 FatalErrorException。

这是文件结构的照片。如果您不熟悉 Laravel 5。上面的 require 函数是从内调用的PlaylistController.php

在此处输入图片说明

我对 PHP 和 Laravel 世界还是很陌生,所以如果这很简单,我深表歉意。

php directory-structure require laravel

0
推荐指数
1
解决办法
1万
查看次数

重定向不适用于Laravel 4

在我的控制器功能中,我使用一个require语句来包含一个文件:

require app_path().'/plivo/plivo.php';
Run Code Online (Sandbox Code Playgroud)

在此语句之后,我尝试使用以下语句从此控制器重定向:

return Redirect::back()->with('success', 'Note added successfully');
Run Code Online (Sandbox Code Playgroud)

但是,这给了我以下错误:

调用未定义的方法 Redirect::back()

如何从此功能重定向?

这是我的完整代码:

public function sendSMS(){
    require app_path().'/plivo/plivo.php';
    $auth_id = "XXXXXXXXXXXX";
    $auth_token = "XXXXXXXXXXXXXXXXXXXXX";
    $p = new \RestAPI($auth_id, $auth_token);

    $params = array(
        'src' => '1XX7XX0',
        'dst' => '91XXXXXXXXX7',
        'text' => 'Test SMS',
        'method' => 'POST'
    );
    $response = $p->send_message($params);
    return Redirect::back()->with('success', 'Note added successfully');
}
Run Code Online (Sandbox Code Playgroud)

php redirect require laravel laravel-4

0
推荐指数
1
解决办法
439
查看次数

Node.js `require` 放入数组而不是变量

以后可以var x = require('x.js')使用x来访问所有好东西。构建一系列所需内容的最接近的方法是什么,例如:

var xs = [require('a.js'), require('b.js')]
Run Code Online (Sandbox Code Playgroud)

然后访问导出的功能为xs[0].featurexs[1].feature?

javascript require node.js

0
推荐指数
1
解决办法
4335
查看次数

使用 VM 模块运行 Node.js 脚本:“ReferenceError: require is not a function”

我正在编写自己的自定义 node.js 服务器。它现在处理静态页面、AJAX GET、POST 和 OPTIONS 请求(后者用于 CORS),但我知道我为运行服务器端 GET 和 POST 脚本选择的方法不是最佳的 - 官方 node.js文档指出,启动大量子 node.js 进程是一个坏主意,因为它是一种资源匮乏的方法。它有效,但我知道可能有更好的方法来实现相同的结果。

所以,我来到了 VM 模块。我的第一个想法是这将解决机器与子进程混乱的问题,并使我的服务器更具可扩展性。

有一个小问题。我的服务器端脚本,对于诸如目录列表和将结果发送回浏览器之类的任务,从几个require语句开始以加载所需的模块。

最终编写了读取脚本文件的代码并将其传递给 vm.Script() 后,我现在遇到了一个错误:

“参考错误:要求不是一个函数”

我后来了解到,这样做的原因是 VM 为脚本启动了一个裸 V8 执行环境,而不是一个独立的 node.js 执行环境。为了让我的想法奏效,我需要 VM 为我提供一个单独的沙盒 node.js 执行环境。我如何实现这一目标?

我的初步研究告诉我,我需要提供虚拟执行环境与node.js的全局自身的单独副本,以便需要发挥预期的作用。我刚才提供的理解是否正确?如果是这样,我需要采取哪些步骤来执行此任务?

virtual-machine require node.js

0
推荐指数
1
解决办法
2782
查看次数

在电子中的“客户端” JS中需要相对路径

require对于<script>HTML文件中的标签执行的脚本,在Electron中如何工作?例如,我有:

-index.html
-langs/js.js
-langs/test.js
Run Code Online (Sandbox Code Playgroud)

<script src="langs/js.js"></script>在index.html中,但是我想从langs / js.js中要求langs / test.js,但这不起作用:

require("./test");

它必须是require("./langs/test");即使从JS测试的相对路径就是“./test”。有没有一种方法可以使它工作而无需在每个文件中指定HTML文件的完整路径require

require node.js electron

0
推荐指数
1
解决办法
1336
查看次数

php Storm vue 组件不起作用/未解析的函数或方法组件

几天以来我一直有这个问题,我真的在互联网上找不到任何解决方案。

我是 Vue.js 的新手

我正在做一个 TDD laravel 项目:

现在我想像这样将标准的 vue 示例组件添加到我的 app.blade.php 中:

应用程序.blade.php

<!-- Scripts -->
<script src="{{ asset('js/app.js') }}" defer></script>

<body>
<div id="app">
    <example-component></example-component>
</div>
Run Code Online (Sandbox Code Playgroud)

应用程序.js

require('./bootstrap');

window.Vue = require('vue');

Vue.component('example-component', require('./components/ExampleComponent.vue').default);

const app = new Vue({
    el: '#app',
});
Run Code Online (Sandbox Code Playgroud)

结果,示例组件在网页上呈现......没问题......

但问题来了:

一旦我更改了示例组件中的任何 HTML 代码,它就不会在浏览器中显示更改。它不断显示标准示例组件。

甚至更糟:

当我通过重构为 FlashTest.vue(例如或其他任何东西)并像这样更改 app.layout.blade 和 app.js 来重命名 examplecomponent.vue 文件时:

<!-- Scripts -->
<script src="{{ asset('js/app.js') }}" defer></script>

<body>
<div id="app">
    <flash-test></flash-test>
</div>
Run Code Online (Sandbox Code Playgroud)

应用程序.js

require('./bootstrap');

window.Vue = require('vue');

Vue.component('flash-test', require('./components/FlashTest.vue').default);

const app = new …
Run Code Online (Sandbox Code Playgroud)

javascript require laravel vue.js vue-component

0
推荐指数
1
解决办法
451
查看次数

var module = require() 还是 const {module} = require()?

这两个需要方法之间的区别是什么:

1. var xx = require('module')
2. const {xx} = require('module')
Run Code Online (Sandbox Code Playgroud)

我看到第一个 onde 我可以访问 xx 作为变量,所有脚本都由模块导出。第二个 xx 未定义。如何访问第二个“方法”或者它是一种方法来构造模块来使用 {}

谢谢

javascript require node.js node-modules

0
推荐指数
1
解决办法
3929
查看次数

Electron Uncaught ReferenceError:未定义要求 | 我将 nodeIntegration 设置为 true

我在使用最新版本的 Electron 时遇到此错误。我在主 javascript 文件中将 nodeIntegration 设置为 true 。我已从工作的 Electron 应用程序复制并粘贴了此代码,但它似乎不适用于我的新应用程序。

电子版本:^12.0.0

我的主要JS

//Require Electron
const { BrowserWindow, app, autoUpdater, globalShortcut, ipcMain } = require('electron');
const main = require('electron-reload');

//Electron reload
const electron_reload = require('electron-reload')(__dirname);

//Disable security warnings
process.env['ELECTRON_DISABLE_SECURITY_WARNINGS'] = 'true';

//Main window
function createMain() {
    const main = new BrowserWindow({
        minWidth: 425,
        minHeight: 524,
        width: 1600,
        height: 900,
        frame: null,
        icon: './assets/icon.png',
        webPreferences: {
            nodeIntegration: true,
            nodeIntegrationInWorker: true,
            nodeIntegrationInSubFrames: true,
            enableRemoteModule: true,
        }
    });

    main.loadFile('./HTML/index.html');
    main.setMenu(null);
    main.webContents.toggleDevTools();


    main.webContents.on('did-finish-load', function …
Run Code Online (Sandbox Code Playgroud)

require electron

0
推荐指数
1
解决办法
1964
查看次数

PHP Trait 与 Require 或 Include

我想理解为什么对 Traits 的讨论似乎从来不包括与 Require 的比较,而是总是与继承进行比较。

据我了解,Require 本质上与运行时的复制/粘贴相同,并且 Require_Once 确保代码不重复。特征通常也被称为与复制/粘贴几乎相同。

也就是说,Require 和 Include 可以在条件逻辑中使用,因此在某些情况下它们可以成为 Trait 的更好替代方案。Traits 具有多态性和其他理想的功能,而这些功能是严格复制代码所无法获得的。例如,能够抽象特征中的函数,然后选择性地在容器类中重写。

这两个“代码包含/导入”功能在范围方面具有相似的行为,例如 $this。

但一个明显的区别是 Include/Require 代码默认会进入 HTML 处理,并且 <?php 是可选的,具体取决于上下文,通过 Trait 我们知道代码必须是 PHP 并且必须以 <?php 为前缀。

所以对我来说,Trait 更像是一个更高级别的 OOP 工具,而 Require 是一个不了解 OOP 细节的语言级指令。然而,在许多情况下,使用 Require 代码似乎比使用 Trait 来包含相同的代码同样简单和有用。

我希望有人能够提供清晰的示例,其中将选择一个而不是另一个,以便更明显地应该使用哪一个。除了我所引用的内容之外,还有更多细节。我是否已经走在做出这些选择的正确道路上?比这更简单,还是更复杂?比较表将是理想的。

php require include traits

0
推荐指数
1
解决办法
725
查看次数

你如何要求没有前缀的变量

我有一个文件,其中包含一些辅助函数,可用于其他两个文件.我想导入函数,但我习惯这样做的方式并不理想:

helper = require('./helpers')
helper.log()
helper.ok()
...
Run Code Online (Sandbox Code Playgroud)

我希望能够使用没有helper前缀的函数(例如ok()).我怎样才能做到这一点?

编辑:目前有7个辅助函数,并且这个数字可能会在将来增长,因此手动指定每个函数似乎无法使用单独的文件.

javascript require node.js

-1
推荐指数
2
解决办法
431
查看次数