Я пытаюсь импортировать некоторый устаревший код в формате commonjs в модуль перевода машинописного текста, который связан с проектом vanilla-ish, созданным vue-cli 3.1.0. Я получаю ошибку из веб-пакета. Похоже, что компонент машинописного текста хочет использовать модули в формате ES6:
ReferenceError: exports is not defined
cjs_module.js:3
at Module../src/cjs_module.js (/Users/skelly/dev/nimbee/edu/js/app/wmadmin_dashboard/src/cjs_module.js:3:1)
at __webpack_require__ (http://10.0.9.2:8080/app.js:725:30)
tsconfig.json
ниже:
{
"compilerOptions": {
"target": "esnext",
"module": "esnext",
"strict": true,
"noUnusedLocals": false,
"noUnusedParameters": true,
"noImplicitReturns": true,
"noFallthroughCasesInSwitch": true,
"jsx": "preserve",
"importHelpers": true,
"moduleResolution": "node",
"experimentalDecorators": true,
"esModuleInterop": true,
"allowSyntheticDefaultImports": true,
"composite": true
},
"lib": [
"esnext",
"dom",
"dom.iterable",
"scripthost"
],
"exclude": [
"node_modules"
]
}
В игре есть другие конфиги, такие как vue.config.js
и babel.config.js
. Я новичок в экосистеме Vue JS, так что спасибо за интересный вопрос.
Я должен добавить модуль, с которым я экспериментирую:
// works
export const a = 'es6 module';
// doesn't work
//exports.a= 'cjs_module';
var regexp = new RegExp('blah');
Синтаксис импорта в машинописном тексте, который я использую:
const cjs_module = require('./cjs_module');
console.log(cjs_module.a);