【问题标题】:Implement RRule using javascript rrule.min.js使用 javascript rrule.min.js 实现 RRule
【发布时间】:2019-08-07 05:38:01
【问题描述】:

我正在尝试将库 https://github.com/jakubroztocil/rrule 包含到我的网页中。

但我收到错误:Uncaught SyntaxError: Unexpected token {

我试过了

<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<script src="https://jakubroztocil.github.io/rrule/dist/es5/rrule-tz.min.js"></script>

<script>
$(document).ready(function(){

import { RRule, RRuleSet, rrulestr } from 'rrule'
alert(rrulestr('DTSTART:20120201T023000Z\nRRULE:FREQ=MONTHLY;COUNT=5')
)

});
</script>
</head>
<body>



</body>
</html>

【问题讨论】:

  • 我认为浏览器本身不支持 import {} 语法。把它放在一个文件中,然后使用像 babel 这样的编译器来获取 js 文件,然后使用它。或者使用普通的 JS 语法。
  • 我尝试使用 import * from 'rrule' 但没有成功。
  • 如果文件作为模块加载,则支持 @psinaught import

标签: javascript typescript python-dateutil rrule recurring-events


【解决方案1】:

工作代码

<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<script src="https://jakubroztocil.github.io/rrule/dist/es5/rrule-tz.min.js"></script>

<script>
$(document).ready(function(){

alert(rrule.rrulestr('DTSTART:20120201T023000Z\nRRULE:FREQ=MONTHLY;COUNT=5'));

});
</script>
</head>
<body>



</body>
</html>

【讨论】:

  • @Code Guy 据我所知 - { in import {
  • 如果您为未来的读者详细阐述您的解决方案,将会很有帮助。错误是什么,您的答案如何解决?
【解决方案2】:

导入在脚本标签内不起作用,请使用以下解决方案,其中插入了一个 rrule 缩小的 js 并使用了函数。

<!DOCTYPE html>
<html>

<head>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

    <script src="https://jakubroztocil.github.io/rrule/dist/es5/rrule-tz.min.js"></script>

    <script>
        $(document).ready(function () {
            const RRule = rrule.RRule;

            const rule = new RRule({
                freq: RRule.WEEKLY,
                interval: 5,
                byweekday: [RRule.MO, RRule.FR],
                dtstart: new Date(Date.UTC(2015, 1, 1, 10, 30)),
                until: new Date(Date.UTC(2020, 12, 31))
            });

            alert(rule.between(new Date(Date.UTC(2018, 7, 1)), new Date(Date.UTC(2019, 8, 1))));
        });
    </script>
</head>

<body>

</body>

</html>

【讨论】:

    猜你喜欢
    • 2011-03-22
    • 1970-01-01
    • 1970-01-01
    • 2020-12-30
    • 2020-06-02
    • 2011-10-30
    • 2021-04-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多