ES6 modules is readonly
TIL
494
TypeScript
6
highcharts
1
White

Hoàng Duy viết ngày 23/07/2016

Tớ import highcharts và thay đổi dateFormats hook của nó như thế này

import * as Highcharts from 'highcharts'

Highcharts.dateFormats = {
    '-m': function (timestamp) {
        return (new Date(timestamp)).getUTCMonth() + 1 + ''
    },
}

Khi transpile bằng webpack và typescript@1.8.10 thì ngon lành, nhưng nếu update lên typescript@2 thì bung lỗi:

alt text

Nguyên nhân là typescript 2 đã implement đầy đủ hệ thống modules của ES6, theo đó imports is read-only view of exports, nên việc thay đổi property là không thể.

Cuối cùng chỉ có cách mượn tạm cú pháp của commonJS để thằng typescript không đối xử như es6 module nữa.

const Highcharts = require('highcharts')

Đây cũng là lời cảnh tỉnh về việc thiết kế API cho lib.

mahpahh 23-07-2016

Bình luận


White
{{ comment.user.name }}
Bỏ hay Hay
{{comment.like_count}}
Male avatar
{{ comment_error }}
Hủy
   

Hiển thị thử

Chỉnh sửa

White

Hoàng Duy

24 bài viết.
54 người follow
Kipalog
{{userFollowed ? 'Following' : 'Follow'}}
Cùng một tác giả
White
39 8
Xin chào, đây là lần đầu tiên mình post bài ở đây. Nhiều vấn đề mình cũng không rành lắm, có gì sai mọi người góp ý nhé. Xin cảm ơn :D Bài này gi...
Hoàng Duy viết gần 3 năm trước
39 8
White
30 3
Đây là một trong các concept mới đối tượng mới được đưa vào ECMAScript 6. Việc sử dụng chúng rất dễ nhưng để hiểu được thì (đối với tôi) cũng cần k...
Hoàng Duy viết hơn 2 năm trước
30 3
White
21 8
Lâu không post gì muốn viết một bài dài dài về js cơ mà đau đầu quá viết mãi không xong, thôi post bài ngắn vậy :smiley: Lấy screen size ở đây tôi...
Hoàng Duy viết hơn 2 năm trước
21 8
Bài viết liên quan
White
19 1
Dạo này đang ngồi nghịch thằng Angular2, thấy có khá nhiều cái hay, 1 trong số đó là có thể dùng Typescripts để code thay cho js, mặc dù khì chạy t...
noname viết gần 2 năm trước
19 1
White
18 1
Toán tử XOR có tính chất: + A XOR A = 0 + 0 XOR A = A Với tính chất này, có thể cài đặt bài toán sau với độ phức tạp O(N) về runtime, và với O(1)...
kiennt viết hơn 1 năm trước
18 1
{{like_count}}

kipalog

{{ comment_count }}

bình luận

{{liked ? "Đã kipalog" : "Kipalog"}}


White
{{userFollowed ? 'Following' : 'Follow'}}
24 bài viết.
54 người follow

 Đầu mục bài viết

Vẫn còn nữa! x

Kipalog vẫn còn rất nhiều bài viết hay và chủ đề thú vị chờ bạn khám phá!