在快速应用程序的客户端 js 中通过 CDN 导入模块

Import modules through CDN in client side js in an express application

我正在为一个项目使用 express 和 ejs 模板。我想在客户端 javascript 文件 (public/js/app.js) 上使用库 moment.js 来创建一个动态日历,我正在为其使用 CDN link moment.js 但不知何故不起作用。导入不起作用。

继承制

|---index.js
|
|---views
|     |
|     |---calendar.ejs
|
|---public
      |
      |---css
      |    |
      |    |---style.css
      |
      |---js
           |
           |---app.js

index.js

app.set('view engine', 'ejs');
app.use(express.static(path.join(__dirname, 'public')));

app.get('/', (req, res) => {
    res.render('calendar');
});

index.ejs

<head>
    ........
    <link rel="stylesheet" type="text/css" href="css/style.css"/>
</head
<body>
    ........
    <script type="module" src="https://momentjs.com/downloads/moment-with-locales.js"></script>
    <script src="js/app.js"></script>
</body>

每次都抛出错误Uncaught ReferenceError: moment is not defined

当您删除 type="module":

时有效
    <script src="https://momentjs.com/downloads/moment-with-locales.js"></script>
    <script src="js/app.js"></script>

或者您可以:

  1. https://momentjs.com/downloads/moment-with-locales.js
  2. 复制代码
  3. 在 public/js
  4. 中创建一个 moment.js 文件
  5. 将代码粘贴到那里
  6. 像这样在 HTML 中加载它:<script src="js/moment.js"></script>