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

时间:2018-06-19 12:44:07

标签: javascript node.js ecmascript-6

我是否可以在浏览器文件(someBrowserFile.js)和node.js后端文件(someBackendFile.js)中都包含一些javascript文件(位于公共文件夹中的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");

由于节点,我必须使用“ module.exports”,而ES6必须使用“ export {use};”。如果我使用ES6语法,则节点将抛出SyntaxError,如果我使用“ module.exports”,则它将无法在浏览器中运行。 因此,有没有一种通用的语法可以使用,因此我可以将文件包含在浏览器和节点中。

2 个答案:

答案 0 :(得分:1)

直接,不。

但是我们通常使用允许这样做的捆绑器和预处理器。看看通常与Webpack一起使用的BrowserifyBabelJS

答案 1 :(得分:1)

要在NodeJ中使用ES6,您必须尝试使用​​“ babel”或其他某种解释器