使用 Moment TimeZone CDN 配置 WebPack
Configuring WebPack with Moment TimeZone CDN
我正在使用 WebPack 4 构建我的 TypeScript 应用程序。
我的一个模块使用 moment-timezone
库,例如...
import * as moment from 'moment-timezone';
$('#label-locale').text(moment.locale());
这按预期工作。
为了更好地利用缓存,我想从 内容分发网络 (CDN) 中引用 moment
和 moment-timezone
并添加了关注我的 HTML
页面:
<script src="https://code.jquery.com/jquery-3.3.1.min.js"
integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8="
crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.2/moment-with-locales.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment-timezone/0.5.23/moment-timezone-with-data.min.js"></script>
我也修改了webpack.config.js
如下:
module.exports = {
externals: {
'jquery': 'jQuery',
'moment': 'moment-timezone'
}
};
现在,当我 运行 我的代码时,出现以下错误:
ReferenceError: timezone is not defined
我是 WebPack 的新手,尝试过将 'timezone': 'moment-timezone'
添加到 externals
但没有成功。
任何 help/direction 将不胜感激。
我想多了。 moment-timezone
实际上 'just' 扩展了 moment
对象以包含 moment.tz
,所以我所要做的就是修改 webpack.config.js
如下:
module.exports = {
externals: {
'jquery': 'jQuery',
'moment-timezone': 'moment'
}
};
因此,不是 WebPack
有效地 构建 来自 node_modules/moment-timezone
的整个定义树, moment
对象已经被 CDN 更新参考。至少,我认为这就是正在发生的事情。
我正在使用 WebPack 4 构建我的 TypeScript 应用程序。
我的一个模块使用 moment-timezone
库,例如...
import * as moment from 'moment-timezone';
$('#label-locale').text(moment.locale());
这按预期工作。
为了更好地利用缓存,我想从 内容分发网络 (CDN) 中引用 moment
和 moment-timezone
并添加了关注我的 HTML
页面:
<script src="https://code.jquery.com/jquery-3.3.1.min.js"
integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8="
crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.2/moment-with-locales.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment-timezone/0.5.23/moment-timezone-with-data.min.js"></script>
我也修改了webpack.config.js
如下:
module.exports = {
externals: {
'jquery': 'jQuery',
'moment': 'moment-timezone'
}
};
现在,当我 运行 我的代码时,出现以下错误:
ReferenceError: timezone is not defined
我是 WebPack 的新手,尝试过将 'timezone': 'moment-timezone'
添加到 externals
但没有成功。
任何 help/direction 将不胜感激。
我想多了。 moment-timezone
实际上 'just' 扩展了 moment
对象以包含 moment.tz
,所以我所要做的就是修改 webpack.config.js
如下:
module.exports = {
externals: {
'jquery': 'jQuery',
'moment-timezone': 'moment'
}
};
因此,不是 WebPack
有效地 构建 来自 node_modules/moment-timezone
的整个定义树, moment
对象已经被 CDN 更新参考。至少,我认为这就是正在发生的事情。