代码之家  ›  专栏  ›  技术社区  ›  Null Salad

在服务器和客户端之间访问JS文件中的变量

  •  0
  • Null Salad  · 技术社区  · 5 年前

    我有一个JS文件 parameters.js 如下所示:

    const myJSON = {
                   parameter1: 2,
                   parameter2: 2.
                  }
    module.exports = {myJSON}
    
    

    server.js 我可以通过以下方式访问它:

    const {myJSON} = require('./public/js/parameters.js');
    

    myJSON . 但这似乎不可能。

    索引.html:

    <head>
        <script src='clientScript.js' type="module"></script>
    </head>
    <body>
        ...
    </body>
    

    客户端脚本.js:

    import {myJSON} from './parameters.js';
    // ...
    

    Uncaught SyntaxError: The requested module './parameters.js' does not provide an export named 'myJSON' .

    当我试着改变 module.exports export {myJSON} SyntaxError: Unexpected token 'export' .

    那么,在客户机和服务器之间共享这个变量的最佳方式是什么呢?

    0 回复  |  直到 5 年前
        1
  •  1
  •   Quentin    5 年前

    Node.js支持CommonJS和ECMAScript模块。浏览器只支持ECMAScript模块。

    所以使用 import export (不要使用 require module.exports ).

    在Node.js中,您需要 enable ECMAScript modules explicitly 或者把它们传送给普通人 Babel

        2
  •  -1
  •   Muhammad Salif    5 年前

    旧语法和新语法混淆在一起,造成了混乱。 require是旧语法 用于 进口 .

    另外,使用 来自parameters.js。

    希望这能解决这个问题。