使用在vue分布式文件中定义的功能

我一直在使用vuejs,一切似乎都还不错,但是最近我决定检查vue npm软件包dist文件夹中vue.js内的分布式文件中的vue文件。

我的问题是我怎么能直接在我所看到的功能的项目示例中直接使用任何功能

// vue.js inside dist folder of the npm vue package
/**
   * Merge an Array of Objects into a single Object.
   */
  function toObject (arr) {
    var res = {};
    for (var i = 0; i < arr.length; i++) {
      if (arr[i]) {
        extend(res,arr[i]);
      }
    }
    return res
  }

如果可能的话,我想直接在项目中将这些功能用作辅助功能。

mekids 回答:使用在vue分布式文件中定义的功能

  

除非该功能为exported,否则无法通过导入使用该功能。

在尝试导入之前,您需要了解分发包解析规则并检查文件类型:

// ES Module
export function toObject(arr) { /* */ }

// Common.js Module
module.exports.toObject = function toObject(arr) { /* */ }

// Global/UMD
window.toObject = function toObject(arr) { /* */ }

通常,模块捆绑器将找出模块的类型,并允许您在代码中使用 import 语句,例如:

import { toObject } from 'vue';

像Webpack这样的模块捆绑器使用包的main文件中的modulepackage.json字段来确定要使用的实际文件。因此,如果您的dist文件夹包含多个文件,则捆绑程序确切知道要拾取哪个文件。

此外,如果要从mainmodule字段中未指定的文件中导入,则use可以使用包相对路径。例如,您的dist文件夹有两个文件:-vue.jshelper.js,并且main字段设置为dist/vue.js,然后只说{{1} }始终会从import * as x from 'vue'文件中导入。

但是,如果您需要从dist/vue.js文件导入,请使用类似以下内容的

helper.js

同样,仅当给定的功能或值由该文件导出时才可以导入(使用module / commonjs / global导出中的任何一种)。就您而言,如我们从代码中看到的那样,该函数不会导出到外部,因此,您将无法导入它并在代码中使用它。

作为一种解决方法,您只需复制代码并在您的应用程序中使用它即可。

本文链接:https://www.f2er.com/2840018.html

大家都在问