У меня есть пакет, который я создал для запуска сценария webpack после установки. Буквально так, как описано в моем пакете. json
"scripts": {
...
"postinstall": "webpack"
}
веб-пакет выглядит так:
const path = require('path');
const { VueLoaderPlugin } = require('vue-loader')
module.exports = {
target: "node",
entry: {
Core: path.resolve(__dirname,'src/Core.ts')
},
devtool: 'inline-source-map',
output: {
filename: "[name].js",
chunkFilename: "[name].js",
libraryTarget: 'commonjs',
path: path.resolve(__dirname, "dist")
},
externals: {
canvas: "commonjs canvas",
},
resolve: {
extensions: [".js", ".ts"]
},
module: {
rules: [
{
test: /\.js$/,
loader: 'babel-loader',
exclude: /node_modules/,
},
{
test: /\.vue$/,
loader: 'vue-loader',
exclude: /node_modules/
},
{
test: /\.ts$/,
use: [{
loader: 'ts-loader',
options:{
configFile: path.resolve(__dirname,"tsconfig.json")
}
}],
exclude: /node_modules/,
}
]
},
mode: 'development',
plugins: [
new VueLoaderPlugin(),
],
};
Когда я нахожусь в пакете и запускаю постскриптум, он работает нормально. Когда я включаю пакет в другой проект, я получаю ошибку машинописного текста, и я не уверен, почему. Это похоже на то, что загрузчик машинописного текста ts-loader
не работает. Есть идеи, почему?
ERROR in ./src/Core.ts 32:0
Module parse failed: The keyword 'interface' is reserved (32:0)
You may need an appropriate loader to handle this file type, currently no loaders are configured to process this file. See https://webpack.js.org/concepts#loaders