codebox / moment-precise-range

A moment.js plugin to display human-readable date/time ranges
https://codebox.net/pages/moment-date-range-plugin
MIT License
150 stars 91 forks source link

Cannot set properties of undefined (setting 'preciseDiff') #38

Open fh32000 opened 1 year ago

fh32000 commented 1 year ago
    "moment": "^2.29.4",
    "moment-precise-range-plugin": "^1.3.0",
     "vue": "^3.2.36",

import * as moment from 'moment'; import 'moment-precise-range-plugin';

var days = moment("2014-01-01 12:00:00").preciseDiff("2015-03-04 16:05:06")

fh32000 commented 1 year ago

@codebox @chrisj-skinner

codebox commented 1 year ago

I'm not able to reproduce this problem, if you can post some runnable code and include details of the node.js version you are using I can investigate further

coffebar commented 1 year ago

I'm using Vite to build front-end and had the same problem. Workaround is to copy and modify plugin file: change closure to named function momentPreciseRangePlugin and add line:

export default momentPreciseRangePlugin;

And were you're using momentum with plugin it should be:

import moment from "moment";
import momentPreciseRangePlugin from "./components/moment-precise-range";
momentPreciseRangePlugin(moment);