我正在制作一个小小的vuejs库,只是为了学习如何制作一个。我们称它为swing,这就是文件的结构。
conf/
,dist/
,test/
文件为空
我已将此库推送到github并将其发布到npm。 我使用
将其安装到我的应用程序中npm install --save vuejs-swing
我可以看到它安装在package.json
和node_modules
文件夹中,但是当我这样做时:
import swing from 'vuejs-swing'
我收到此错误:
ERROR Failed to compile with 1 errors 11:42:41 AM
This dependency was not found:
* vuejs-swing in ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/selector.js?type=script&index=0&bustCache!./src/c
omponents/HelloWorld.vue
To install it, you can run: npm install --save vuejs-swing
显然已被安装,因此必须是配置问题
这是我的webpack.config.js
var path = require('path')
var webpack = require('webpack')
module.exports = {
module: {
rules: [
// use babel-loader for js files
{ test: /\.js$/, use: 'babel-loader' },
// use vue-loader for .vue files
{ test: /\.vue$/, use: 'vue-loader' }
]
},
// default for pretty much every project
context: __dirname,
// specify your entry/main file
entry: {
app: './src/swing.js',
},
output: {
// specify your output directory...
path: path.resolve(__dirname, 'output'),
// and filename
filename: 'index.min.js'
},
resolve: {
// this is optional, but it lets you import .vue files without the .vue extension.
extensions: ['.js', '.json', '.vue']
}
}
if (process.env.NODE_ENV === 'production') {
module.exports.devtool = '#source-map'
// http://vue-loader.vuejs.org/en/workflow/production.html
module.exports.plugins = (module.exports.plugins || []).concat([
new webpack.DefinePlugin({
'process.env': {
NODE_ENV: '"production"'
}
}),
new webpack.optimize.UglifyJsPlugin({
sourceMap: true,
compress: {
warnings: false
}
}),
new webpack.LoaderOptionsPlugin({
minimize: true
})
])
}
我会将赏金奖励给能够提供工具的人,在npm中发布包所需的配置并且能够使用它。
答案 0 :(得分:1)
请按照以下步骤操作:
output
文件夹(不应该在.gitignore
文件中)package.json
点,main
文件为./output/index.min.js
,不至./src/swing.js
{
"name": "vuejs-swing",
"version": "0.1.2",
"main": "./output/index.min.js",
// ...
}
除了您的软件包的用户之外,不要为您构建源代码(运行Webpack),您需要将它们指向预先打包的javascript文件。
作为旁注,目前在npm上发布的包vuejs-swing
。我不知道您是否更改了包名称或在私有存储库上工作。