Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Webpack 无法导入vuejs库_Webpack_Ecmascript 6_Vuejs2_Vue Component_Node Modules - Fatal编程技术网

Webpack 无法导入vuejs库

Webpack 无法导入vuejs库,webpack,ecmascript-6,vuejs2,vue-component,node-modules,Webpack,Ecmascript 6,Vuejs2,Vue Component,Node Modules,我正在制作一个小型vuejs库,只是为了学习如何制作一个。我们称之为swing,这就是文件的结构 conf/,dist/,test/文件为空 我已将此库推送到github并将其发布到npm。 我使用 npm install --save vuejs-swing 我可以看到它安装在package.json和node\u modules文件夹中,但当我安装时: import swing from 'vuejs-swing' 我得到这个错误: ERROR Failed to compile

我正在制作一个小型vuejs库,只是为了学习如何制作一个。我们称之为swing,这就是文件的结构

conf/
dist/
test/
文件为空

我已将此库推送到github并将其发布到npm。 我使用

npm install --save vuejs-swing
我可以看到它安装在
package.json
node\u 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中发布软件包所需的配置以及能够导入/使用软件包的人。

遵循以下步骤:

  • 确保您的
    输出
    文件夹未被git忽略(不应位于
    .gitignore
    文件中)
  • 为生产构建包(运行网页包)
  • package.json
    中,将
    main
    文件指向
    /output/index.min.js
    ,将指向
    /src/swing.js
{
“名称”:“vuejs swing”,
“版本”:“0.1.2”,
“main”:“/output/index.min.js”,
// ...
}
不要让包的用户为您构建源代码(运行Webpack),您需要将他们指向预打包的javascript文件


作为补充说明,到目前为止,包
vuejs-swing
尚未在npm上公开发布。我不知道您是否更改了包名或正在使用私有存储库。

这并没有解决问题。我只更正了package.json,其他的都还可以。(输出不会被忽略,我的库是另一个名称not swing)因此,唯一要添加的是
“main”:“/output/index.min.js”,
将生成输出文件夹及其js文件。我提交了修改,升级了版本,并将其重新发布到npm。即使从“vuejs swing”导入swing后错误消失了,但未定义
swing
。我把它添加到
组件:{swing}
但是什么都没有。如果有一个到Github的链接会很好。你能给我们看看swing.vue的代码吗?我想知道您是否没有导出组件correctly@TimHutchison我只是导出一个简单的东西,比如
export.module='swing'