2017-12-03 287 views
-3

我有一个库,我需要在项目中导出,但它是用JavaScript函数编写的。我想导出并导入到我的多个项目中。如何将正常的javascript函数转换为导出?

function BlurImage(imageID, canvasID, radius, blurAlphaChannel, iterations){ 

var img = document.getElementById(imageID); 
var w = img.naturalWidth; 
var h = img.naturalHeight; 
    debugger; 
var canvas = document.getElementById(canvasID); 
    debugger; 
canvas.style.width = w + "px"; 
canvas.style.height = h + "px"; 
canvas.width = w; 
canvas.height = h; 

var context = canvas.getContext("2d"); 
context.clearRect(0, 0, w, h); 
context.drawImage(img, 0, 0); 

if (isNaN(radius) || radius < 1) return; 

} 

回答

0

正确的做法是在项目中使用包管理系统,例如Bower。开始使用起来很简单,并且在其网站的首页上有简单的入门指导。

如果你的代码需要是私有的,你可以将你的函数存储在一个私有的git仓库中,并将它们导入到你的项目中。有关如何做到这一点的信息,请参阅this post

+0

鲍尔似乎有点过时IMOD。除此之外,我猜他们希望将他们的代码作为独立的JS文件包含在浏览器中(即,像来自CDN的捆绑和缩小的jQuery文件),而不是像使用NPM或Bower的Node项目那样。 – Li357

0

您可以通过在函数前添加导出关键字来导出函数。

如果要导出每个文件的几个功能,使用语法如下:

export function A() {...}; 
    export function B() {...}; 

如果你要导出每个模块一个功能,使用默认的关键字:

export default function A() {...}; 

您也可以结合两个策略在同一个文件中导出函数。有时您可能需要为每个模块导出一个,但可能需要测试其他功能。

export default function A() {...}; 
    export function B() {...}; 

现在,您可以导入功能集成到其他文件

import {A, B} from 'filename.js'; // non default functions 
    import A from 'filename.js'; // default function 
    import A, {B} from 'filename.js'; // combine default and non-default 

检查:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/export

+0

我试过导出函数A(){};并导入{A}形式'filenam.js'。它仍然会给出同样的错误。 – Samir

+0

有一个错字。它从不是形式。此外,错误消息说什么? – cdoshi

+0

找不到模块'filename.js'的声明文件。 – Samir