- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
当我尝试升级 package.json 文件中的 javascript 库,并更新 web.configi.js 以符合 3.4.1 中的新 webpack 配置时,它不起作用。许多文件没有像 webpack1 那样写入输出。
我在 github 上提出了 extract-text-webpack-plugin 的问题。 https://github.com/webpack-contrib/extract-text-webpack-plugin/issues/600
有人告诉我这是一个更好的提问地点。
这是 webpack.config.js
var webpack = require('webpack');
var ExtractTextPlugin = require('extract-text-webpack-plugin');
var CleanPlugin = require('clean-webpack-plugin');
var CopyWebpackPlugin = require('copy-webpack-plugin');
var AureliaWebpackPlugin = require('aurelia-webpack-plugin');
var path = require('path');
var config = require('./project.build.config.js');
var filesToCopy = [];
//create list of index.html files to be copied to wwwroot
config.apps.forEach(app => {
filesToCopy.push({ from: app.src + '.html', to: config.outDir + app.dest });
});
config.assets.forEach(asset => {
filesToCopy.push(asset);
});
var plugins = [
new CleanPlugin(config.outDir),
new AureliaWebpackPlugin.AureliaPlugin({ aureliaApp: undefined }),
new webpack.optimize.CommonsChunkPlugin({
name: "commons",
// (the commons chunk name)
filename: "commons.js",
// (the filename of the commons chunk)
minChunks: 3,
// (Modules must be shared between 3 entries)
// chunks: ["pageA", "pageB"],
// (Only use these entries)
}),
new webpack.optimize.CommonsChunkPlugin({
name: 'commons',
filename: 'commons.js'
}),
new ExtractTextPlugin({
disable: false,
filename: '[name].css',
allChunks: true
}),
new CopyWebpackPlugin(filesToCopy, { copyUnmodified: false }),
new webpack.ProvidePlugin({
$: "jquery",
jQuery: "jquery",
"window.jQuery": "jquery",
}),
];
// create the apps entry points
var entryPoints = {};
config.apps.forEach(app => {
entryPoints[app.name] = ['materialize-loader!./materialize.config.js', 'babel-polyfill', 'whatwg-fetch', 'aurelia-bootstrapper'];
});
var webpackBaseConfig = {
entry: entryPoints,
output: {
path: config.outDir,
chunkFilename: '[name]-[chunkhash].js',
filename: '[name].js'
},
plugins: plugins,
resolve: {
extensions: ['.js'],
modules: ['src', 'node_modules'],
alias: {
'$': path.resolve(__dirname, 'node_modules/jquery/dist/jquery.js'),
'jquery': path.resolve(__dirname, 'node_modules/jquery/dist/jquery.js')
}
},
module: {
rules: [{
test: /\.js$/i,
loaders: 'babel-loader',
exclude: /node_modules/,
query: {
presets: [
['env', { loose: true, modules: true }]
],
plugins: ['transform-class-properties', 'transform-decorators-legacy']
}
},
{
test: /\.css$/i,
use: ExtractTextPlugin.extract({
fallback: 'style-loader',
use: 'css-loader'
}),
},
{
test: /\.scss$/i,
exclude: /node_modules/,
use: ExtractTextPlugin.extract({
use: ['css-loader', 'sass-loader']
})
},
{
test: /\.html?$/i,
use: 'html-loader'
},
{
test: /\.woff(\?v=\d+\.\d+\.\d+)?$/,
loader: "url-loader?limit=10000&mimetype=application/font-woff"
}, {
test: /\.woff2(\?v=\d+\.\d+\.\d+)?$/,
loader: "url-loader?limit=10000&mimetype=application/font-woff"
}, {
test: /\.ttf(\?v=\d+\.\d+\.\d+)?$/,
loader: "url-loader?limit=10000&mimetype=application/octet-stream"
}, {
test: /\.eot(\?v=\d+\.\d+\.\d+)?$/,
loader: "file-loader"
}, {
test: /\.svg(\?v=\d+\.\d+\.\d+)?$/,
loader: "url-loader?limit=10000&mimetype=image/svg+xml"
}, {
test: /\.(png|gif|jpe|ico)$/i,
loader: 'file-loader?limit=10000'
}
]
},
};
module.exports = webpackBaseConfig;
这是安装的软件包
"aurelia": {
"build": {
"moduleRootOverride": {
"aurelia-templating-resources": "dist/commonjs"
},
"resources": [
"aurelia-validation/validate-binding-behavior",
"aurelia-validation/validation-errors-custom-attribute",
"aurelia-validation/validation-renderer-custom-attribute",
"aurelia-dialog",
"aurelia-validation"
]
}
},
"devDependencies": {
"aurelia-loader-nodejs": "1.0.1",
"aurelia-pal-nodejs": "1.0.0-beta.1.0.0",
"aurelia-protractor-plugin": "1.0.5",
"aurelia-testing": "1.0.0-beta.3.0.1",
"aurelia-tools": "1.0.0",
"aurelia-webpack-plugin": "2.0.0-rc.3",
"autoprefixer": "7.1.2",
"babel-core": "6.25.0",
"babel-eslint": "7.2.3",
"babel-jest": "20.0.3",
"babel-loader": "7.1.1",
"babel-plugin-istanbul": "4.1.4",
"babel-plugin-transform-class-properties": "6.24.1",
"babel-plugin-transform-decorators-legacy": "1.3.4",
"babel-polyfill": "6.23.0",
"babel-preset-env": "1.6.0",
"babel-preset-es2015": "6.24.1",
"babel-preset-stage-1": "6.24.1",
"babel-register": "6.24.1",
"clean-webpack-plugin": "^0.1.16",
"copy-webpack-plugin": "4.0.1",
"cross-env": "5.0.4",
"css-loader": "0.28.4",
"eslint": "4.4.1",
"eslint-friendly-formatter": "^3.0.0",
"expose-loader": "0.7.3",
"extract-text-webpack-plugin": "3.0.0",
"file-loader": "0.11.2",
"html-webpack-plugin": "2.30.1",
"http-server": "0.10.0",
"ip": "1.1.5",
"isparta": "4.0.0",
"jasmine-core": "2.7.0",
"jest": "20.0.4",
"jest-cli": "20.0.4",
"json-loader": "0.5.7",
"karma": "1.7.0",
"karma-chrome-launcher": "2.2.0",
"karma-coverage": "1.1.1",
"karma-jasmine": "1.1.0",
"karma-mocha-reporter": "2.2.3",
"karma-webpack": "2.0.4",
"node-sass": "4.5.3",
"nps": "5.7.0",
"nps-utils": "1.3.0",
"postcss-loader": "2.0.6",
"protractor": "5.1.2",
"replace": "0.3.0",
"sass-loader": "^6.0.6",
"strip-loader": "^0.1.2",
"style-loader": "0.18.2",
"url-loader": "0.5.9",
"wait-on": "2.0.2",
"webpack": "^3.5.5",
"webpack-dev-server": "2.6.1",
"webpack-merge": "^4.1.0",
"webpack-notifier": "1.5.0",
"webpack-shell-plugin": "0.5.0"
},
"dependencies": {
"aurelia-bootstrapper": "^2.1.1",
"aurelia-bootstrapper-webpack": "1.1.0",
"aurelia-dialog":"1.0.0-rc.1.0.3",
"aurelia-event-aggregator":"1.0.1",
"aurelia-fetch-client":"1.1.2",
"aurelia-framework":"1.1.4",
"aurelia-history-browser":"1.0.0",
"aurelia-loader-webpack":"2.1.0",
"aurelia-logging-console":"1.0.0",
"aurelia-materialize-bridge":"0.30.0",
"aurelia-pal-browser":"1.2.1",
"aurelia-polyfills":"1.2.2",
"aurelia-route-recognizer":"1.1.0",
"aurelia-router":"1.3.0",
"aurelia-templating-binding":"1.3.0",
"aurelia-templating-resources":"1.4.0",
"aurelia-templating-router":"1.1.0",
"aurelia-validation":"1.1.1",
"bluebird": "^3.5.0",
"bootstrap": "^3.3.7",
"get-ip": "^1.2.0",
"jquery": "3.1.0",
"material-design-icons":"3.0.1",
"materialize-css":"0.100.1",
"materialize-loader":"2.0.1",
"moment": "2.18.1",
"numeral": "2.0.6",
"whatwg-fetch": "2.0.1"
},
"engines": {
"node": ">= 4.0.0",
"npm": ">= 3.0.0"
},
"browserslist": [
"> 1%",
"last 2 versions",
"not ie <= 8"
]
}
最佳答案
我建议使用 cli ,创建一个新项目并将 package.json 复制到您的项目中。那么 webpack 配置也应该为您提供指导。
关于javascript - 如何将 aurelia 版本从 webpack1 升级到 webpack3?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45714653/
我想在 aurelia 中触发两种不同的方法,实现这一目标的最佳方法是什么? 最佳答案 我可能会做的是以下 HTML Javascript yourFunction(event, parts) {
我正在学习 Aurelia 的工作原理,并且我正在尝试让一个简单的自定义属性工作。它所做的就是根据某些值的变化来改变 div 文本的颜色。 我有一个 div,它有: high.bind="ch
我想在小型移动 Cordova 应用程序中使用 aurelia。是否可以省略任何模块加载器,如 requirejs 并直接在脚本标签中使用 aurelia 包,如 ? 谢谢, 乔治 最佳答案 您
我正在构建一个 aurelia 自定义元素库,供多个不同的 aurelia 应用程序使用,但在使用 CLI 进程将自定义元素 html 正确 Hook 到应用程序包时遇到了麻烦。 我目前认为该库将成为
我刚刚尝试了 aurelia 的入门应用程序,并注意到当在两个浏览器(chrome 和 ff)中打开时,它会保持导航同步。看起来路由器实例驻留在应用程序范围内。我在文档中没有找到任何有关范围的信息,所
Knockout JS 有虚拟元素的概念。这些是“ headless ”元素,您可以将其绑定(bind)到没有 HTML 元素作为容器的元素。这允许您在不发出外部 HTML 的容器中绑定(bind)数
最近我一直在玩不同的框架和库,寻找真正适合我需求的东西。 你看,我的工作主要涉及创建 asp.net mvc 应用程序,对于大多数使用 Razor 和一点点 jQuery 就足够了。但在某些情况下,仅
最后,我开始与 Aurelia 合作。有一个入门套件可用 Here这有助于初始化 Aurelia。但它是一个模板,应该在网站模板中使用。 我有一个预配置 WebApi项目,我想在其中使用 Aureli
在 Aurelia 从这里发布之前,我使用了启动工具包来构建我的应用程序: https://github.com/aurelia/skeleton-navigation 但是当 Aurelia 发布时
我已经使用 typescript 安装了一个全新的骨架导航,并尝试按照此处的说明进行操作: http://aurelia-ui-toolkits.github.io/demo-materialize/
我有以下按钮,我只想在满足给定条件时激活(点击启用),尽管视觉上禁用了按钮 click 事件在用户点击时仍会触发。 [更新]将 false 更改为 true 我在清理示例以在此处发布时错误地插入了错
在 aurelia 中,当在自定义元素中使用插槽时,是否可以以某种方式在插槽上使用 ref 元素(也许是 Aurelia 团队的新功能?github 问题据说是在 SO 而不是在 github 上发布
我正在为我的项目使用 Aurelia,现在我在导航到上一页时遇到问题。我想知道有什么方法可以从 Aurelia 路由器对象获取以前的路由器信息。 this.router.navigateToRoute
我正在寻找一种将类动态添加到 aurelia 模板的方法。如果特定的 li 可见,我必须添加一个事件类。 例子 {{title}}
我已经向我的路由器添加了授权管道步骤。一切正常,但是当我使用 Redirect 时类来将用户指向登录页面,它接受一个 URL 作为它的参数。如果我使用 Router.navigateToRoute()
我在将属性传递到自定义组件时遇到了一些问题。我尝试通过以下方式声明我的组件: import {customElement, bindable} from "aurelia-framework";
{ route: 'content/:id', name: 'Details', title: 'Details', viewPorts
我正在处理 Aurelia Sample app并希望将构建输出(vendor-bundle.js 和 app-bundle.js)部署到 www-root\scripts而不是默认 scripts目
我正在尝试创建一个简单的 Aurelia 可重用小部件,它封装了一个标签和一个文本输入字段。我们的想法是创建一个包含这些可重用 UI 小部件的库,以便更轻松地组合屏幕和表单——或许可以从“Angula
我正在尝试在复选框列表上使用去抖动绑定(bind)行为,但它似乎没有按我预期的方式工作(我不确定你是否可以去抖动复选框): Checkbox value "${v}" 单击任何复选框会导致
我是一名优秀的程序员,十分优秀!