我发布了一个npm软件包。目录结构类似于以下内容:
my-package
└── js/script.js
└── index.js
js/script.js
文件包含一个对象,该对象就是我的库的名称,比方说elephant
。像这样:
var elephant = {
function_1: function() {
...
},
function_2: function() {
...
}
}
在我的index.js
文件中,我这样导出:
import { elephant } from "./js/script.js";
export default elephant;
发布并安装软件包后,我尝试使用以下代码行在项目中使用它:
const elephant = require('my-package');
elephant.function_1();
elephant.function_2();
但是,不幸的是,当我运行开发服务器(在Vue项目中)时,出现以下错误:
"TypeError: elephant.function_1 is not a function"
我在做什么错?该功能已经明确定义,并且可以导出,但是未检测到该功能。任何帮助表示赞赏。谢谢。
答案 0 :(得分:0)
我不太确定它是否可以在这里工作,但是我使用这种语法效果很好。您可以在开发服务器上尝试。这是给index.js
的。
export {
elephant
} from './js/script.js';
从elephant
导出您的js/script.js
var elephant = {
function_1: function() {
...
},
function_2: function() {
...
}
}
export default elephant;
对于ES5和更低版本的javascript版本,请改用以下语法:
module.exports = elephant;