2016-10-21 110 views
0

随着几乎所有的NPM包,我试图用vue.js 1.0使用我收到此错误:Vue.js browserify找不到模块

{ Error: Cannot find module '!!./../../../node_modules/css-loader/index.js!./../../../node_modules/vue-loader/lib/style-rewriter.js!./../../../node_modules/vue-loader/lib/selector.js?type=style&index=0!./dashboard.vue' from '/Users/jamie/Code/forum/node_modules/vue-html5-editor/dist' 
    at /Users/jamie/Code/forum/node_modules/resolve/lib/async.js:46:17 
    at process (/Users/jamie/Code/forum/node_modules/resolve/lib/async.js:173:43) 
    at ondir (/Users/jamie/Code/forum/node_modules/resolve/lib/async.js:188:17) 
    at load (/Users/jamie/Code/forum/node_modules/resolve/lib/async.js:69:43) 
    at onex (/Users/jamie/Code/forum/node_modules/resolve/lib/async.js:92:31) 
    at /Users/jamie/Code/forum/node_modules/resolve/lib/async.js:22:47 
    at FSReqWrap.oncomplete (fs.js:117:15) 

它驱使我疯了!我正在使用vue.jsbrowserify。到处找网站:

https://github.com/webpack/css-loader/issues/240 https://github.com/webpack/css-loader/issues/180 https://github.com/webpack/css-loader/issues/295 https://github.com/webpack/css-loader/issues/163

似乎没有任何工作!我究竟做错了什么!?

2包在那里我已经这个问题:

https://github.com/lian-yue/vue-upload-component/
https://github.com/PeakTai/vue-html5-editor

gulpfile

const elixir = require('laravel-elixir'); 
require('laravel-elixir-vueify'); 
require('laravel-elixir-stylus'); 



    elixir(mix => { 
     mix.browserify('main.js'); 
     mix.styles([ 
       './node_modules/normalize-css/normalize.css', 
       './node_modules/nprogress/nprogress.css', 
       './node_modules/sweetalert/dist/sweetalert.css', 
       ]); 
     mix.stylus('app.styl'); 
    }); 

一种解决方案真正帮助我。

- 编辑 -

{ 
    "private": true, 
    "scripts": { 
    "prod": "gulp --production", 
    "dev": "gulp watch" 
    }, 
    "devDependencies": { 
    "gulp": "^3.9.1", 
    "laravel-elixir": "^6.0.0-9", 
    "laravel-elixir-browserify-official": "^0.1.3", 
    "laravel-elixir-stylus": "^2.0.3", 
    "vue-html5-editor": "^0.5.1" 
    }, 
    "dependencies": { 
    "browserify": "^13.1.0", 
    "laravel-elixir-vueify": "^2.0.0", 
    "normalize-css": "^2.3.1", 
    "nprogress": "^0.2.0", 
    "stylus": "^0.54.5", 
    "sweetalert": "^1.1.3", 
    "vue": "^1.0.26", 
    "vue-resource": "^0.9.3", 
    "vue-router": "^0.7.13", 
    "vue-spinner": "^1.0.2", 
    "vue-upload-component": "^2.0.0-beta" 
    } 
} 
+0

你能否提供你的packages.json文件? –

+0

是的!请参阅我的编辑。 – Jamie

+0

Weird.Maybe你可以尝试安装这些babel依赖https://github.com/vuejs/vueify/blob/master/package.json#L38,我不确定,但似乎vue-upload-component使用ES2015 。 –

回答

2

这些都是webpack包和你使用browserify。如果你需要使用webpack软件包,你应该使用webpack作为你的捆绑软件。

我确实已经安装了vue-upload-component软件包,看看browserifyelixir有多容易,但至少可以说是很尴尬。我没有得到它的工作,因为它使用巴贝尔变换编译vue文件,所以首先你需要手动拉它们,然后你可能需要编写一个elixir扩展来使用这些变换来使它工作。很显然,每个webpack软件包都会有所不同,所以每次安装时都需要这样做,这很不方便。

0

我有一些运气,改变了我想用来使用webpack -p而不是仅仅webpack Vue组件的配置输出。

然后我可以采取无热模块代码输出,并把它通过browserify

browserify file.js --standalone SomeLibrary > file.browser.js 

哪里file.js的WebPack -p输出,SomeLibrary的名字,你想在全球范围内的窗口来自browserify包装,并且file.browser.js是您的项目中包含的结果文件。

相关问题