在浏览器和 Node.js 中使用 .js 文件

4

我可以在浏览器文件(someBrowserFile.js)和node.js后端文件(someBackendFile.js)中同时包含一些javascript文件(位于public文件夹中的test.js)吗?

test.js:

function use(name) {
    console.log("I can use" + name);
}

someBrowserFile.js:

import * as lib from './test.js';

lib.use("test module");

someBackendFile.js:

var lib = require("./public/test.js");

lib.use("test module");

因为在Node中必须使用"module.exports",而在ES6中则需要使用"export {use};"。如果我使用ES6语法,则Node会抛出SyntaxError错误,如果我使用"module.exports",则无法在浏览器中工作。 那么是否有一种通用的语法可以在浏览器和Node中都能够引用我的文件呢?

这正是我自己在思考的问题。不幸的是,我没有看到一个令人满意的答案。 - Dan Mantyla
2个回答

1

直接来说,不行。

但是我们通常使用捆绑器和预处理器来实现这一点。可以了解一下 WebpackBrowserify,它们通常与 BabelJS 一起使用。


1
谢谢。我知道有捆绑器,但我希望能更简单地解决这个问题 :( - Ruslan Plastun
起初,我也认为捆绑器太复杂了,但是我鼓励你去看一下,它们并不那么糟糕... (: - Pedro A

1

如果想在NodeJs中使用ES6,你需要尝试使用"babel"或其他解释器。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接