【问题标题】:Import modules through CDN in client side js in an express application在 express 应用程序中通过客户端 js 中的 CDN 导入模块
【发布时间】:2020-12-19 12:52:28
【问题描述】:

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

层次结构

|---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

【问题讨论】:

    标签: node.js express momentjs ejs


    【解决方案1】:

    当你删除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. 在 public/js 中创建一个 moment.js 文件
    3. 把代码粘贴进去
    4. 像这样在 HTML 中加载它:&lt;script src="js/moment.js"&gt;&lt;/script&gt;

    【讨论】:

      猜你喜欢
      • 2019-01-15
      • 1970-01-01
      • 1970-01-01
      • 2020-06-01
      • 1970-01-01
      • 1970-01-01
      • 2017-07-30
      • 2020-01-22
      • 1970-01-01
      相关资源
      最近更新 更多