【问题标题】:Use Webpack/NPM Combo to require additional files within a module使用 Webpack/NPM 组合来要求模块中的其他文件
【发布时间】:2017-03-28 10:23:12
【问题描述】:

情景

我们有一个 Laravel 5.3 和 UIKit 2 组合设置,使用 Elixir/webpack 来捆绑我们的 JS。

默认情况下,laravel 带有 /resources/js/bootstrap.js(与 twitter 无关)

这个文件是用来包含依赖的,所以目前看起来是这样的

window._ = require('lodash');
window.$ = window.jQuery = require('jquery');
window.UI = window.UIkit = require('uikit');

但是,因为 UIKit 是基于组件的,并且允许您使用额外的功能,例如模式/工具提示,您必须包含额外的 js 组件。

这些存储为/node_modules/uikit/dist/js/components/tooltip.js

这意味着我目前正在做

window.UI = window.UIkit = require('uikit');
require('../../../node_modules/uikit/dist/js/components/tooltip');

正如你所看到的,一开始有一个令人讨厌的非常冒昧的../../../,这让我很不舒服,以防万一发生了事情而这不是路径。

问题

是否有更有效/稳定/不易出错的方法来包含这些额外文件?例如

require('uikit')->path('components/tooltip');

非常感谢

【问题讨论】:

    标签: javascript module npm uikit require


    【解决方案1】:

    在发布问题后的经典时刻,开始通过 Nodes 文档进行更多挖掘并发现

    https://nodejs.org/api/modules.html#modules_loading_from_node_modules_folders

    这说明您可以通过先定义模块来访问子模块,然后再定义额外文件的本地路径。

    例如

    require('MODULE/path/to/submodule');
    

    所以在 UIkits 示例中它会是

    require('uikit/dist/js/components/tooltip');
    

    希望这对其他人有帮助。

    【讨论】:

      猜你喜欢
      • 2016-12-31
      • 2017-09-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-05
      • 2017-09-03
      • 2016-04-21
      • 1970-01-01
      相关资源
      最近更新 更多