Javascript 如何要求webpack使用requirejs生成js文件?我使用vue cli
我使用vue cli制作项目Javascript 如何要求webpack使用requirejs生成js文件?我使用vue cli,javascript,node.js,webpack,requirejs,vue.js,Javascript,Node.js,Webpack,Requirejs,Vue.js,我使用vue cli制作项目 vue init webpack vue-demo cd vue-demo npm install npm run dev 现在我想开发一些组件。我想在requirejs中使用它们。 网页包配置 entry: { app: './src/main.js' }, output: { path: config.build.assetsRoot, publicPath: process.env.NODE_ENV === 'product
vue init webpack vue-demo
cd vue-demo
npm install
npm run dev
现在我想开发一些组件。我想在requirejs中使用它们。
网页包配置
entry: {
app: './src/main.js'
},
output: {
path: config.build.assetsRoot,
publicPath: process.env.NODE_ENV === 'production' ? config.build.assetsPublicPath : config.dev.assetsPublicPath,
filename: '[name].js',
libraryTarget: 'umd',
library:'senyint'
}
Q1:它生成三个文件。app.js manifest.js vendor.js
演示有一个Hello.vue。我想要求什么网页生成的js文件。
但我需要他们,这是没有定义的。为什么?怎么了?
我应该出口到哪里?
现在我像这样导出main.js
import Hello from 'components/Hello'
module.exports = {
Hello
}
问题2:我不想在没有vue的情况下打包。
所以我配置了这个
externals: {
vue: 'vue'
}
如果我这样做,当npm运行dev时显示错误“UncaughtTypeError:无法读取未定义的属性'config'”
因为找不到Vue。
如果配置externals vue,如何使其运行?Q1:
打开我找到的javascript文件app.js
define("senyint", ["vue"], factory);
在这条线上。“senyint”是一个包名,webpack生成js,但它不起作用。
我这样修改代码
define(["vue"], factory);
需要它,它就会工作。但是我不知道为什么。。。。我只是可以解决这个问题;
main.js export.vue组件
import Hello from 'components/Hello.vue'
export const scom = {
Hello
}
requirejs配置
requirejs.config({
baseUrl: 'js/common',
paths: {
module: '../modules'
},
shim: {
app: {
deps:['vue','manifest','vendor']
}
}
})
requirejs(['module/demo', 'app'], function (demojs, app) {
debugger
console.log(app)
})
问题2:
我使用vue cli网页包模板构建了我的项目。(不是简单的网页包)
生成目录中有“webpack.base.conf.js”和“webpack.prod.conf.js”
修改webpack.prod.conf.js添加
externals: {
vue: {
root: 'Vue',
commonjs: 'vue',
commonjs2: 'vue',
amd: 'vue'
}
},
不要在“webpack.base.conf.js”中添加代码。然后npm运行构建它将在不使用vue.js的情况下打包。npm运行开发人员使用webpack.base.conf.js,它将使用vue运行