Я создал очень простой javascript, который использует webpack для упаковки и npm для публикации проекта. Хотя я могу успешно построить и опубликовать проект, я не могу использовать экспортированную функцию.
Вот мой package.json:
{
"name": "test",
"version": "1.0.0",
"description": "",
"main": "./dist/test-prod.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"build": "webpack --display-error-details --mode production",
"prepublishOnly": "npm run build"
},
"author": "",
"license": "ISC",
"devDependencies": {
"webpack": "^4.28.4",
"webpack-cli": "^3.2.1"
}
}
Вот конфиг веб-пакета:
const path = require('path');
module.exports = {
context: path.resolve(__dirname),
entry: './index.js', // Entry file that will be invoked by webpack first
output: {
path: path.resolve(__dirname, 'dist'),
filename: 'test-prod.js'
}
};
Вот тестовая функция, расположенная в папке 'src', которую я планирую экспортировать:
export const testFunc = () => alert('Hello World!');
Вот index.js:
const testFunc = require("./src/testFunc");
module.exports = {testFunc};
Это все и хорошо. Но после выполнения npm publish
или npm link
я не могу получить доступ к testFunc из другого проекта.
Я пытался import * as functions from 'test';
, затем functions.testFunc()
и import {testFunc} from 'test';
. Оба не работают.
Пожалуйста, дайте мне знать, как правильно экспортировать функцию, используя webpack & npm, и получить к ней доступ из другого проекта. Мне нужен только уменьшенный JavaScript в моем опубликованном пакете.