几乎每个我想用vue.js 1.0
的npm包都会收到此错误:
{ 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.js
使用browserify
。在网络上随处可见:
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 :(得分:2)
这些是webpack
个包,您正在使用browserify
。如果您需要使用webpack包,则应使用webpack作为捆绑包。
我确实安装了vue-upload-component
软件包,看看browserify
和elixir
有多容易,但至少可以说是尴尬。我没有让它工作,因为它使用babel变换来编译vue文件,所以首先你需要手动拉它们然后你可能需要编写一个elixir扩展来使用这些变换来使它工作。显然每个webpack包都是不同的,所以每次安装时都需要这样做,这几乎不方便。
答案 1 :(得分:0)
我很幸运地改变了我想用来webpack -p
而不仅仅是webpack
的Vue组件的配置输出。
然后,我可以在没有热模块代码的情况下获取该输出,并通过browserify
:
browserify file.js --standalone SomeLibrary > file.browser.js
file.js
是 webpack -p 输出,SomeLibrary
是浏览器包装中全局窗口范围所需的名称,file.browser.js
是生成的文件包含在项目中。