как мне скомпилировать один компонент marko. js с помощью webpack или marko-cli, чтобы я мог использовать его как модуль npm из реестра npm?
Компонент работает хорошо в моих проектах как интегрированный компонент, но когда я устанавливаю его как модуль npm, я получаю сообщение об ошибке типа «класс {не разрешен», потому что компонент не компилируется.
Компиляция с веб-пакетом не работает, он говорит мне, что не может найти утилиты времени выполнения marko, и скомпилированные файлы из marko-cli не работают как компоненты.
Конфигурация Webpack
const path = require('path')
const MiniCssExtractPlugin = require('mini-css-extract-plugin')
// Get node environment
const { NODE_ENV } = process.env
const isDev = NODE_ENV === 'development'
const env = isDev ? 'development' : 'production'
// Define webpack config
module.exports = {
mode: env,
entry: {
app: ['./client.js'] // I have tried ./component/index.marko also
},
output: {
filename: '[name].js',
path: path.resolve(__dirname, 'dist')
},
resolve: {
extensions: ['.marko']
},
module: {
rules: [
{
test: /\.marko?$/,
loader: '@marko/webpack/loader'
},
{
test: /\.(sass|scss|css)$/,
use: [
MiniCssExtractPlugin.loader,
'css-loader',
'sass-loader'
]
},
{
test: /\.svg/,
loader: 'svg-url-loader'
}
]
},
plugins: [
new MiniCssExtractPlugin({
filename: '[name].css'
})
]
}
Компонент Marko
-- Hello World!
клиент. js
require('./component/index.marko')
require('marko/components').init()