Javascript 使用vue分布式文件中定义的函数
我一直在使用vuejs,一切似乎都很正常,但最近我决定检查vue文件,它位于vue npm包的dist文件夹中的分布式文件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) {
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我没有。我将尝试一下,看看它是否在视窗范围内可用。非常感谢您的解释。