ค้นหาเว็บไซต์

Rollup TypeScript: การประกาศใน dist + cjs + es

ฉันกำลังพยายามจัดแพ็กเกจไลบรารี TypeScript โดยใช้ rollup พร้อมกับไฟล์ประกาศ (d.ts) และฉันต้องการส่งออกทั้งเวอร์ชัน cjs และ es

ดังนั้นฉันจึงคิดคอนฟิก Rollup นี้ขึ้นมา:

const {nodeResolve} = require('@rollup/plugin-node-resolve') const nodeExternals = require('rollup-plugin-node-externals'); const json = require('@rollup/plugin-json'); const commonjs = require('@rollup/plugin-commonjs'); const typescript = require('rollup-plugin-typescript2'); const packagePlugin = require('

อ่านต่อไป →

node.js - วิธีการตั้งค่า TS ให้อนุญาตการนำเข้าจาก CJS ไปยังโมดูล ES (node-fetch & Express)?

ฉันกำลังพยายามให้ไลบรารีสองตัวทำงานในโปรเจกต์เดียวกัน: fetch-node ซึ่งเป็นโมดูล ES และ Express ซึ่งเป็น CommonJS ปัญหาคือฉันต้องนำเข้า fetch-node แบบนี้:

import fetch from 'node-fetch';

แต่ Express ต้องก

อ่านต่อไป →

javascript - รูปร่าง KineticJS ใน TypeScript

ฉันกำลังพยายามสร้างรูปร่างตามโค้ด JavaScript ของ kineticjs ดังต่อไปนี้:

var triangle = new Kinetic.Shape({ drawFunc: function(canvas) { var context = canvas.getContext(); context.beginPath(); context.moveTo(200, 50); context.lineTo(420, 80); context.quadraticCurveTo(300, 100, 260, 170); context.closePath(); canvas.fillStroke(this); }, fill: '#00D2FF', stroke: 'black', strokeWidth: 4 });

นี่คือตัวอย่า

อ่านต่อไป →

javascript - การสร้างอินสแตนซ์คลาสเริ่มต้นทำให้เกิด TypeError (การทำงานร่วม ESM/CJS)

สรุปปัญหา

สวัสดี,

ฉันมีโปรเจกต์ TypeScript ซึ่งฉันพยายามสร้างอินสแตนซ์ของคลาสซึ่งเป็นค่าเริ่มต้นที่ส่งออกจากแพ็กเกจอื่น ฉันกำลังเขียนโปรเจกต์ของฉันในไวยากรณ์ ESM ในขณะที่แพ็กเกจที่มันขึ้นอยู่มีผลลัพธ์เป็น CJS ปัญหาที่ฉันพบคือเมื่อรันไทม์ เมื่

อ่านต่อไป →

สร้าง cjs และ esm โดยใช้การอ้างอิงโครงการ TypeScript ใน monorepo

ฉันมีการตั้งค่าโปรโตไทป์ monorepo ของ TypeScript ที่ทำงานได้พร้อมกับ CJS, Yarn Workspaces และการอ้างอิงโครงการโดยใช้การสร้างแบบเพิ่มขึ้น:

https://github.com/rosskevin/learn-a/tree/build-cjs-esm

เนื่องจาก tsc -b ใช้ tsconfig.json เริ่มต

อ่านต่อไป →

javascript - วิธีคลิกผ่านวัตถุ fabricjs เพื่อเลือกวัตถุด้านล่าง (โดยไม่ใช้คุณสมบัติ evented)

คุณทำให้วัตถุ fabricjs 'ล็อก' อย่างไร เพื่อที่ว่า:

  1. มันไม่สามารถเลือกได้ (obj.selectable=false)
  2. อนุญาตเหตุการณ์ 'mousedown' สำหรับการคลิกขวา (obj.evented ต้องเป็นจริง)
  3. ไม่มีสถานะ/เหตุการณ์เมื่อเลื่อนเมาส์ (เมาส์ไม่ตรวจจับวัตถุนี้เมื่อเลื่อนหรือไม่เปลี่ยนเคอร์เซอร์)
  4. อนุญาตให้เมาส์คลิกวัตถุที่อยู่ใต้มัน (เมาส์สามารถเข้าถึงวัตถุผ่านมันได้)

ฉันพยายามหาคำสั่งโค้ดที่จัดการกับ prop ที่ชื่อว่า 'evented' แต่ฉันไม่พบมันในซอร์ส โปรไฟล์ evented ทำให้วัตถุโปร่

อ่านต่อไป →

angular - วิธีป้องกันการปรับขนาดข้อความเมื่อปรับขนาดกล่องข้อความด้วย fabricjs

ฉันเป็นมือใหม่กับ FabricJs และความกังวลของฉันเกี่ยวกับการปรับขนาดกล่องข้อความ - ฉันมีวิธีแก้ไขดังต่อไปนี้ที่สามารถปรับขนาดกล่องข้อความในแนวตั้งและแนวนอนได้ แต่ไม่สามารถทำทั้งสองอย่างพร้อมกันได้ ฉันพยายามหาวิธีแก้ไขที่ทำทั้งสองอย่างพร้อมกันโดยไม่ให้ตัวอักษรถูกปรับขนาด คุณช่วยฉันหาวิธีแก้

อ่านต่อไป →

โมดูล es6 - TypeScript สามารถนำเข้า dependencies ทั้ง ESM และ CJS ได้หรือไม่?

ฉันกำลังเขียนแอปพลิเคชัน TypeScript ที่ใช้ dependencies ซึ่งติดตั้งด้วย NPM:

  • บางส่วนของการพึ่งพาเหล่านี้ส่งออกผ่าน CJS
  • บางส่วนของการพึ่งพาเหล่านี้ส่งออกผ่าน ESM

มีการกำหนดค่า tsconfig.json ใดที่สามารถให้ฉันใช้การพึ่งพาเหล่านี้ทั้งหมดได้อย่างโปร่งใสหรือไม่?

อ่านต่อไป →

javascript - ปรับขนาดกล่องข้อความของ fabricjs ให้ตรงกับการเลือกข้อความ

ฉันมีโค้ดชิ้นหนึ่งที่สร้าง Textbox ใหม่ด้วยวิธีนี้:

new fabric.Textbox('Ajouter du texte')

ปัญหาคือกล่องข้อความมีขนาดเล็กเกินไปเมื่อเทียบกับเนื้อหาของมัน:

ถ้าฉันกำหนดความกว้างคงที่ ฉันจะได้ขอบรอบ ๆ:

new fabric.Textbox('Ajouter du texte

อ่านต่อไป →

typescript - ข้อผิดพลาด "Canvas ไม่ใช่ตัวสร้าง" - การใช้ FabricJS กับ Angular 6

ผมกำลังทำงานในโปรเจกต์ซึ่งเพิ่งได้รับการอัปเกรดจาก Angular 5 เป็น 6 ผมกำลังเพิ่มฟีเจอร์ใหม่ซึ่งต้องการให้ผมวาดรูปภาพจากข้อมูล ดังนั้นผมจึงพยายามใช้วัตถุ Canvas และ SVG DOM เพื่อทำสิ่งนี้ FabricJS มีฟีเจอร์มากมายที่ผมต้องการ

ฉันพยายามเพิ่มมันลงในโปรเจกต์เมื่อคืนที่ผ่านมา ฉันดาวน์โหลดเวอร์ชัน DEV/MIN เต็มของ FabricJS จากเว็บไซต์, v2.3.3 จากนั้นฉันสร้างโฟลเดอร์ "fabric" ในโฟลเดอร์ node_modules ของฉันและใส่ไฟล์ *.js ลงไปที่นั่น ฉันแก้ไขไฟล์ angular.json ของฉันเพื่อรวมสิ่งนี

อ่านต่อไป →