Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/419.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vue.js/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用vue分布式文件中定义的函数_Javascript_Vue.js_Vuejs2_Nodes_Node Modules - Fatal编程技术网

Javascript 使用vue分布式文件中定义的函数

Javascript 使用vue分布式文件中定义的函数,javascript,vue.js,vuejs2,nodes,node-modules,Javascript,Vue.js,Vuejs2,Nodes,Node Modules,我一直在使用vuejs,一切似乎都很正常,但最近我决定检查vue文件,它位于vue npm包的dist文件夹中的分布式文件vue.js 我的问题是,我如何能够在我的项目中直接使用任何函数?我在那里看到的函数示例 // vue.js inside dist folder of the npm vue package /** * Merge an Array of Objects into a single Object. */ function toObject (arr) {

我一直在使用vuejs,一切似乎都很正常,但最近我决定检查vue文件,它位于vue npm包的dist文件夹中的分布式文件
vue.js

我的问题是,我如何能够在我的项目中直接使用任何函数?我在那里看到的函数示例

// 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
  }
//npm-vue包的dist文件夹内的vue.js
/**
*将对象数组合并到单个对象中。
*/
函数对象(arr){
var res={};
对于(变量i=0;i
如果可能的话,我想在我的项目中直接使用这些函数作为辅助函数

除非该函数已导出
,否则不能通过导入使用该函数

在尝试导入之前,您需要了解捆绑解决方案规则并检查它是什么类型的文件:

// 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';
类似模块绑定器的网页包使用包的
package.json
文件中的
main
Module
字段来确定要使用的实际文件。因此,如果您的dist文件夹包含多个文件,则绑定器确切地知道要拾取哪个文件

此外,如果要从未在
main
module
字段中指定的文件导入,则可以使用包相对路径。例如,您的
dist
文件夹有两个文件:-
vue.js
helper.js
,并且
main
字段设置为
dist/vue.js
,然后只需将
import*作为x从'vue'
文件导入即可

但是,如果需要从
helper.js
文件导入,请使用以下方法:

import * as x from 'vue/dist/helper.js';
import { something } from 'vue/dist/helper.js';
同样,仅当给定函数或值由该文件导出时(使用module/commonjs/global exports中的任何一个导出),才可以进行导入。在您的情况下,函数不会像我们从代码中看到的那样导出到外部,因此,您无法导入它并在代码中使用它


作为一种解决方法,您可以简单地复制代码并在应用程序中使用它。

您是否尝试过
window.toObject(param)
?@Christiano我没有。我将尝试一下,看看它是否在视窗范围内可用。非常感谢您的解释。